New Features

  • 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.



    Changes

  • 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.



    Fixed Bugs and Quirks

  • 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.