New Features
Visual Wrap
Visual Wrap is a passive display mode that allows text to be
automatically wrapped to the window width without introducing hard line
enders into the file. This feature is useful when editing files with
very long lines which would otherwise extend off-screen to the right,
out of view. The Visual Wrap Options dialog provides access to options
related to the operation of Visual Wrap. Wrapping can be set to occur at
the window width, the Text Width, or at the Right Margin Rule. By
default, Visual Wrap is maintained when edits are made, although this
can be optionally disabled. An option is also provided for dealing with
trailing spaces when Visual Wrap is first applied.
In Visual Wrap mode, the Line count in the status bar switches to a
Paragraph counter, since a one-to-one relationship between screen lines
and physical lines no longer exists. Lines with a soft line ender are
denoted by a trailing space character, and a single left chevron (<) is
displayed if Visible Spaces mode is active. Adding a trailing space to
a line converts a hard line ender to a soft line ender; removing the
trailing space converts a soft line ender to a hard line ender.
Additional commands have also been added in support of Visual Wrap. The
Soften Line Enders command can be applied to a text file which has
unwanted line enders, thereby making the file "flowable" and eligible for
Visual Wrap. The Harden Line Enders command does the opposite: it
converts soft line enders to hard line enders, effectively "locking" the
current on-screen formatting into the file. The new Go to Paragraph
command has been added to allow a jump to specified paragraph number.
XML Formatting
Two new commands have been added to the Tools menu: Format XML and
Unformat XML. These commands can be used to apply and remove formatting,
respectively, from XHTML and other XML-compliant text files. If you've
ever opened an XML file and seen one long, flowing line extend off the
right edge of the screen, you'll appreciate this new feature.
Format XML adds newlines and indentation intelligently to any
XML-compliant file to create a neatly formatted document. Options are
provided to control the amount of indent, whether to indent with spaces
or tabs, when and whether text and tags should be wrapped, when to
suppress newlines, and other formatting nuances. If a range of lines is
selected, formatting or unformatting will be performed only on the
selected lines. Upon completion, a statistics dialog provides
information to assist in locating unmated or unclosed tags, or other
data inconsistencies. A set of automation options provides precise
control over how/if/when XML files should be auto-formatted as they are
opened. The Unformat XML command can be used to convert a formatted
document to "flat" form, in case this is required for processing, to
reduce file size, or for other reasons.
User-defined Toolbar Icons
Using the Configure|Toolbar dialog, it's now possible to assign new
icons to any of the toolbar buttons. New icons can be assigned to
change the look of Boxer's toolbar, or to provide distinct icon images
for commands that would otherwise use the same icons (Macros and User
Lists are two such examples). User-defined image files can be either
icon (.ICO) or bitmap (.BMP) files. Two new icon sizes are also
available: in addition to the existing 16x16 and 32x32 options, 24x24
and 48x48 scaling options have been added. A collection of 64 sample
images is provided with the release, and users are free to use icons
from others sources as well, or to create their own.
Windows 7 Compatibility
Boxer 14 has been tested and tuned to run under Windows 7, Microsoft's
newest operating system. Boxer runs under both the 32-bit and 64-bit
versions of Windows 7.
Efficient Line Number Display
Boxer will display its on-screen line numbers using the minimum number
of columns possible, expanding and contracting the line number margin
automatically if the file's line count grows or shrinks.
Move Line Up/Down
Move Line Up and Move Line Down can be used to easily move items up and
down in an ordered list. These new commands appear near the bottom of the
Edit|Line menu. Though simple in concept, you'll be surprised how much these
commands can speed common editing operations. (The Swap Lines command,
which was nearly identical in function to the new Move Line Down
command, has been removed from the menu, but remains available for use
by shortcut key, or within macros.)
Text Obfuscation
ROT5, ROT13, ROT18 and ROT47 conversion commands have been added to the
Block|Convert Other submenu. These commands provide a simple,
reversible text obfuscation scheme for use in non-critical encryption
situations.
Line Spacing: this new Block menu command
permits a selected range of lines--or the whole file--to be converted to
single-, double- or triple-spaced format.
Support for handling ANSI X12 files has been added. On the file open
dialog, an option has been added to instruct Boxer to recognize an
end-of-record character, after which a conventional line break will be
added as the file is read. This function can also be activated (for the
next file named) by using the -E command line option flag. This feature is
useful for opening ANSI X12 files, and any other file format that uses a
non-standard record ender. By default, the inserted line breaks will be
written to the file when it is next saved. To override this behavior, use
the File|Properties dialog option to remove line enders when saving.
The File Tab context menu has a new Open Containing Folder option that
can be used to open an Explorer window into the folder that contains the
file being edited.
Netbook compatible: Boxer's menus have been
tuned to ensure they fit on a 1024 x 600 screen size, as is found on
most Netbook computers.
The Value at Cursor command now displays the Unicode code point for the
character at the cursor, as well as the numeric or named HTML entity for
that character.
The Replace confirmation dialog includes a new option called "Skip to Next File."
This option can be used when a Replace is being performed across all open files,
and you'd like to move immediately to the next file without processing any
remaining matches in the current file.
The new Window|Last Visited command provides a convenient means to return to the
last visited window. The default shortcut key for this command is
Shift+Alt+F6.
The new Unhighlight Matches command on the Search menu removes
highlighting from matched strings, leaving the "Highlight all matches"
option on the Find dialog undisturbed.
New macro function: FTPOpen(string fn) can be used to open an FTP file, using
Boxer's syntax for naming an FTP file and the account from which it is opened.
New macro function: the Trunc() macro function has been added. It can be used
to truncate a floating point value to a specified number of places.
New macro function: GetSelectionBounds() retrieves the line and
column boundaries of the current selection.
The GetString() macro function now recognizes an optional third
parameter. If present, this new string parameter is presented as the
default entry string in the dialog that appears to collect user
input.
A set of commands has been added that allow closed file tabs to be
reopened more easily. Right click on a file tab and choose "Undo Close
Tab" to undo the most recent file closure. Options are also provided to
undo all closed tabs, to selectively reopen closed tabs, or to clear the
list of closed tabs. The last ten (10) closed file tabs are recorded.
Clicking the middle mouse button in an empty area of the file tab zone
is recognized as a shortcut gesture to undo the last closed file tab.
Boxer's file loading and saving has been enhanced so that it's now
possible to create a zero-length file, or a file with just a few
characters and no trailing newline. In the past, an empty line was
assumed to always contain a line ender.
Improvements were made to the Null Character Handling dialog: the name
of the file that triggered the dialog is now displayed on the dialog.
Also, an option is provided to always open files containing nulls in hex
editing mode, thereby avoiding display of the dialog. A Help button has
also been added.
When resizing a document window by mouse, a report appears on the status
line that shows the width of the window in columns.
When sizing the panes of a split window by mouse, a report appears on the status
line that shows the percentage of width/height allocated to each pane.
The Block|Save Selection As command has been enhanced so that text
fragments will be saved using the current file encoding format from
File|Properties (ASCII, UTF-8, UTF-16 little endian or UTF-16 big
endian) and the current line ender style (PC, Macintosh or Unix).
In Power Columns mode, the Home key will be recognized as a request to
shift the selection to column one.
Four new command line options:
-WH
Set the height of the main application window to the value specified.
-WL
Position the main application window with its left edge at the specified pixel
location.
-WT
Position the main application window with its top edge at the specified pixel
location.
-WW
Set the width of the main application window to the value specified.
A Wrap-to-window checkbox option has been added to the viewer in the Paste-As
dialog.
The latest version of Ctags, v5.8, has been added to the release.
The ANSI and OEM Character Set Charts each display the active code page name
and number for reference.
The Word Count feature now includes newlines in its character count report,
with proper consideration to the length of the newline that will be added
to each line (PC line enders use two characters, other styles one character.)
A "Stop" button has been added the Jump|Ctags Function Index dialog. This button
can be used to halt Boxer's internal processing of a lengthy Refresh operation.
The external processing performed by Ctags itself cannot be halted in this way.
Added the $BoxerDrive User Tools Macro, which expands to contain the drive
letter of Boxer's program folder.
Updated the default syntax highlighting info for C++ reserved words and
preprocessor directives.
New Syntax Highlighting information was added for the following languages:
Euphoria, PocoScript, Powershell, Vera, Verilog and VHDL.
Provide an option for experienced users to disable the warning message and
halting of macro execution that occurs when a macro tries to execute a
disabled editor command.
Perl Regular Expressions support has been enhanced to use character
conversion tables that respect the current locale. This makes it
possible to perform case-insensitive searches for text strings that
include accented characters.
The text of some of the PCRE regular expression compiler error messages were
made more meaningful and helpful.
Changes
When running under a color scheme with a black background, the operating
system would change some of the calculator's text labels to white, which
did not contrast well on the calculator's silver faceplate.
Boxer will be less demanding of CPU cycles when it is focused and idle,
and when the application is inactive.
The selected range will be adjusted internally when a Power Columns
delete operation is requested for a range of lines that extends to the
empty line past EOF.
When running in portable mode, the path to the Ctags Program
and Ctags Output File is computed anew each time, in case the drive
letter of the USB drive has changed since the path was last saved.
The System Info display, accessible from the About dialog, was updated
to properly report the operating system name when Windows 7 is in use.
The "Default" button on the Configure|Toolbar dialog will now reset the
various options on the dialog, and not simply the toolbar button
contents and relative order.
The installer was changed to prevent the user from selecting the portable
installation option, and then specifying an installation directory on a
fixed drive.
Various changes were made to help reduce flicker when loading or restoring several
files. In particular, improvements were made for the case when maximized child
windows within a maximized application window were loaded or restored.
When printing, and visible spaces are not being printed, strip trailing spaces
to prevent the possibility of a line wrapping due to trailing spaces.
Added a confirmation dialog before Delete Bookmarked Lines performs its
function.
Ensure that the Next Bookmark and Previous Bookmark commands scroll the
screen left/right as needed to bring the bookmark location into view,
and sufficiently to provide visual context.
When a file is reloaded using File|Reload, reset the internal flag
so that it will be reindexed for Ctags. This makes it easier to test changes
made to the CTAGS.CNF file: no need to close Boxer, just reload a source file
to see the effect of your changes.
After the Configure|Ctags Function Indexing is run, ensure that all
files are re-indexed in case the configuration changes made have
affected the indexing results.
Auto-Complete was changed so that accented characters can be matched case
insensitively.
A refinement has been made to Tab key processing in the custom
file open dialog: the text cursor will be placed inside the closing
double quote after a file expansion occurs, so it's easier to type a
new, non-existent filename. In the past, the user would need to place
the cursor inside the double-quoted string manually for this case.
The various Delete Lines That... commands have been enhanced so that
accented characters are properly recognized for operations that are
insensitive to case.
The Highlight All Matches option of the Find dialog has been enhanced
so that it can highlight accented characters properly when case-insensitive
searches are performed.
Allow the maximum line length to be a full 32k (32767) characters, instead
of 32k-2.
The various OEM/ANSI/Error/HTML... charts have been moved to a
"Reference Charts" submenu on the Tools menu.
Added .XHT and .XHTML at file extensions for HTML syntax highlighting.
Find Mate: make a change to permit duplicate entries in the mating pairs
list used by Find Mate. This is sometimes needed to support HTML tags
that are used with and without attributes.
Added new HTML and XHTML tags to the default list of tags used by Find Mate.
Made the defined mating pairs work more reliably with tags that contain
attributes.
Refine and update the default file extensions that control when the Open in Browser
command can be used.
When the Page Setup option "Wrap long lines to the next line" is in use,
ensure that the first character in a wrapped line is not a space.
Rename the "Strip HTML Tags" command to "Strip HTML/XML Tags."
Change the ValueAtCursor() macro function to ensure command is enabled after
loading a file from within a macro.
Give a warning message when the content of a private clipboard is too large
to be saved for the next edit session.
Allow the Edit|Copy Filename command to be enabled in hex editing mode.
Bugs
Under some circumstances, if Boxer lost focus while a modal dialog was
topmost, the program would effectively be locked up when focus was
restored, since the modal dialog did not always return to its topmost
position.
When a modal dialog with a "tool window" style border was active,
the Boxer application icon was not appearing in the Alt+Tab application
list under Windows Vista or Windows 7. Similarly, the File Picker and
Programmer's Calculator, which are distinct executables, will now appear
in the Alt+Tab application list under Windows Vista and Windows 7.
If a file that belonged to a Boxer project was changed outside of Boxer
in such a way that the stored cursor location became invalid, a crash
could occur.
The Copy directory function on the custom File Open dialog box was not
formatting its results in perfect columnar format.
Sometimes the label in the File Open dialog that reports the number of
files selected would report "2" when it should have reported "1."
On Vista and Windows 7, Boxer could not locate its INI file to read a
few settings it needed early on in its initialization.
An access violation could occur if Boxer was left open when system shutdown
was requested.
After a breakpoint was set from the Macro dialog's Debug interface, the
breakpoint would still be active if the macro was run with the dialog closed.
Trouble with Search and Replace when "wrap around" option used: on the
line on which the operation was begun, text to the left of the cursor
would not be processed, and text to the right of the cursor would be
processed twice.
If the Hex Viewer in the Paste-As dialog was selected without toggling
"Show all clipboard formats," the clipboard viewer would be empty.
With one window open: split a window, unsplit it, press F6 to go to the
next window, cursor would disappear.
The state of the Project|Auto-Update setting was not being properly
restored from session to session.
An *extremely* long "favorite dirs" setting could cause corruption of
the Boxer.ini file.
The Block|Total command could report erroneous results when operating on
European style values (1.234,56), if the text to right of the values
being totalled contained one or more decimal points.
Keystroke Recordings that involved keys pressed during Power Columns
mode did not play back correctly.
An Invalid Line error occurred when pasting full-line text mode from the
clipboard into a Select-All text selection.
Loading Unicode UTF-16 files with lines greater that 16k characters in length
could result in a crash.
The Round() macro function returned imprecise results for certain rounding
operations.
When text is selected, a report is displayed on the status line that
shows the number of character contained in the selection. If the line
ender property for the file was CR+LF (PC line ender), the report was
accurate. If the line ender was either CR (Macintosh line ender) or LF
(Unix line ender), the character count was inexact.
Ensure that a CTags tip is immediately removed from the screen when the mouse
exits the window by sliding across the open tip.
The View|Shaded Tab Zones and View|Tab Display Size commands would each
issue an error if run when no files were open.
The DeleteLinesThat***() macro functions were not properly tolerating
the absence of the optional second parameter.
Activating a series of windows by clicking their file tabs did not
preserve the internal Windows Z-order for the child windows.
If the Edit-As-List button was used on the Configure|Text Highlighting
dialog to remove all text highlighting strings, an exception error could
occur thereafter.
Under some circumstances, the line numbers used for jumping to a line
from the results window of the Find Text in Disk Files feature could
become out-of-sync with the line numbers displayed in the report.
If Boxer was left open while logoff or shutdown was attempted, an
error would be reported.
Passing command line parameters from an external application that calls
Boxer had been disrupted due to another change. That change (which made it
easier to abort an unwanted series of file open requests) has been rolled
back in favor of restoring this functionality.
The macro function AppendToClipboard() was not working properly when
used with a private clipboard.
When the Tab key was used in Power Columns mode, and was configured to
insert spaces rather than hard tabs, the number of spaces inserted did
not properly account for the cursor column at the time the tab key was
pressed.
Under some circumstances, a "List index out of bounds error" could
occur when closing a file, if the file was a member of an open project.
An access violation could occur if an invalid filepath was found in a
project file.
An exception error could occur if the Ctags.txt file contained very long
lines.
When Ctags indexed more than 5,000 files, a warning message would be
given repeatedly.
Issuing the "Help On" command when no files were open produced an error.
|
|