New Features

  • Auto-Complete: a fast, powerful, highly customizable system for completing words and phrases as you type.

    • Complete partially typed words by selecting from an optional pop-up list of suggestions, or by pressing a user-defined trigger key (Ctrl+Space, by default)
    • Suggested completion phrases are drawn from four sources:
      • User-defined phrases
      • Existing text in the current document
      • The reserved word list for the current file type
      • An external, user-editable dictionary of 37,000 English words
    • User-defined phrases can be set to trigger automatically, when a delimiter is typed, or only when the trigger key is pressed
    • Expansion codes can be placed in user-defined phrases that will expand to various date/time strings, or to file/directory strings, at the time of insertion
    • Auto-Complete works intelligently on both ordinary text and program code, due in part to user-editable delimiter lists that control how words/phrases are harvested from the surrounding text
    • Auto-learn mode can add new phrases to the user-defined list automatically
    • Extensive options provide control over how words are harvested from the current document, how many should appear in the pop-up list, where/when/whether the list should appear, and
      much, much more


  • Function and Variable Indexing: Boxer can display information for the function or variable at the mouse cursor in a popup tool tip. Function and variable information can also be displayed in a dialog box that can be left open for reference, or for easier navigation in your source files: just double-click on an indexed entry to jump to that function's declaration.

  • Indexing is available for C, C++, C#, Java, Javascript, HTML, ASP, Perl, PHP, Ruby, Lisp, Eiffel, Assembler, Fortran, Cobol and several other languages. To perform indexing, Boxer interfaces to the popular Exuberant Ctags utility program. Exuberant Ctags is a fast, multi-language implementation of the original ctags and etags programs that are available on Unix.

  • Power Columns: an innovative editing mode that applies all edits made to each line within the selection.

    Create a zero-width selection in columnar mode and start typing. The characters you type will be inserted into each line within the selected range. Hit backspace to correct a mistake: all lines are affected. The Delete key will delete characters to the right. Use the left and right arrow keys to move the insertion point to a different column. You can even Paste a short text string from the clipboard into each line.



  • Bookmark Manager: manage and navigate among bookmarked lines more effectively.

    Boxer's new Bookmark Manager dialog displays a list of the currently bookmarked lines, along with their filenames and line numbers. Double click or press Enter on an entry to jump immediately to that file and line number. Sort the display by bookmark number, filename, line number, or line text. Show bookmarks for all open files, or only for the current file. Clear any bookmark by pressing Delete. The Bookmark Manager can be left open while working in Boxer, so that it's available for reference or quick navigation.

  • Undo Cursor Motion: The Undo command has a new option that allows it to undo passive cursor motion commands. The option is located on the Configure|Preferences|Editing dialog tab, in the Undo section, and its default setting is ON.

  • Web-based User Tools: Enhancements have been made to the User Tools command to make it easier to define web-based resources as User Tools.

    • User Tools Macros can be placed in the Program field, making it possible to embed the word at the cursor--or a short text selection--into a URL. For example: http://www.google.com/search?q=$Word would search Google for the word at the text cursor.
    • The new 'Test Tool' option will simulate the running of a User Tool — expanding any macros that were used, and performing other translations — without actually running the defined program.
    • If the selected text macro, $Sel, is used within a URL, embedded spaces are automatically converted to plus signs, as required for a web-friendly URL.
    • A new directive, $SelWord, will expand to either the current text selection, if present, or the word at the text cursor
    • A Description field has been added for each User Tool, which will appear as a menu hint when cursoring over User Tools in the main menu.
    • the $BoxerDir macro returns the path of Boxer's installation directory.
  • More User Tools: The number of User Tools has been doubled, from 12 to 24

  • Current File Tab in Bold: The filename on the active file tab will be displayed in boldface text. A small change (but oddly not a simple one!) that has a surprisingly large impact on the editing experience. Also: the filename displayed on the file tab can be shortened to a user-defined width. This new option appears on the Configure | Preferences | Display options page.

  • The Duplicate and Increment command works like the Duplicate Line command, but it will increment any numeric values it finds in the line as it copies. For example, it will change a line like this:

       width1 = MainForm->WidthArray[0];
    to:
       width2 = MainForm->WidthArray[1];

    Duplicate and Increment also recognizes and increments hexadecimal values in various formats (0xFF, FFh or $FF) as well as character constants ('A').

  • The new Repeat Last Command command can be used to execute the last non-cursor-motion command again. This command is handy when you need to issue a command several times, and the command does not have a shortcut key assigned to it. The default key assignment for Repeat Last Command is F10.

  • Open Program at Cursor: File|Open|Program at Cursor can be used to open the program, file or folder at the text cursor, in its associated application. For example, if a filepath to a PDF file appears at the text cursor, issue this command to open the file in Acrobat Reader.

  • Persistent Macro Variables: Macro variables can now persist from run to run, and even from edit session to edit session. A macro can also use the value of a variable computed and stored by another macro. Two new macro functions make this possible: WriteValue() and ReadValue() can be used to store and recall macro variables. EraseValue() can be used to delete a macro variable from storage.

  • Find Dialog Enhancement: When the Find dialog is used with its Incremental Search and Select Matched Text options on, the Find Next and Find Previous keyboard commands (F3 and Shift+F3 respectively), can now be issued while the Find dialog is still open to display and move among the matches to the partially typed search string.

  • Auto-Number Enhancements: Several enhancements have been made to the Auto-Number command:

    • Optional prefix string to be placed before the number
    • Optional suffix string to be placed after the number
    • Optional user-defined field width to control the width of number
    • Option to skip the numbering of blank lines
    • Preview the numbering format in real-time, in a sample display window
  • A new "Active Project" scope option has been added to the following dialogs, so that their operation can be limited to open files within the active project: Find, Find and Count, Find Text in Disk Files, Replace, Replace Line Enders, and Spell Checker.

  • Non-Modal Calculator: Boxer's Calculator can now be run alongside Boxer, and focus can be switched between the two windows as needed.

  • HTML Help: Boxer now uses HTML Help format help, which provides a modern, browser-like interface, full-text search capability and bookmarking of favorite topics.

  • Professional Icons: new, richly colored icons give Boxer 12 a fresher look, while retaining the meaning of all the earlier icons. (We've had very positive feedback from our testers on this change.)

  • Sort IP Addresses: The Sort dialog has a new option to sort IP Addresses, with proper consideration to the value appearing in each node of the address.

  • The Help File parameter in syntax highlighting has been extended: in the past, keyword lookup of the word at the cursor had been available only when a WinHelp (.HLP) help file had been designated as the associated reference document. Now, compiled HTML Help (.CHM) files are also eligible for keyword lookup of the word at the cursor.

  • Many new macro functions have been added to Boxer's macro language, further extending its capability:

  • SetModified()
    GetWindowNumber(string fn)
    GetSelectionMode()
    GetEditMode()
    GetCurrentDirectory()
    SetCurrentDirectory(string dir)
    UserToolWait(int n)
    AppendToClipboard(string str, int n)
    set the modify state of the current file to true
    returns the window number associated with file 'fn'
    returns 0 if selection mode is Stream, 1 if Columnar
    returns 0 if edit mode is Insert, 1 if Typeover
    get the current working directory
    set the current working directory
    execute User Tool 'n' and wait before macro execution resumes
    append string 'str' to Clipboard 'n'

    These macro functions have been added to assist with disk file operations:

    CopyFile(string old, new)
    RenameFile(string old, new)
    DeleteFile(string fn)
    TouchFile(string fn)
    CreateDirectory(string dir)
    copy the file 'old' to 'new'
    rename file 'old' to 'new'
    delete file 'fn'
    update the timestamp of file 'fn'
    create the directory 'dir'

    Several new macro functions provide control over the Perl Regular Expressions and Match Case options on the Find and Replace dialogs:

    FindRE()
    FindREi()
    ReplaceRE()
    ReplaceREi()
    ReplaceAllRE()
    ReplaceAllREi()

    These functions will force Perl Regular Expressions to ON before the operation is performed. The (existing) companion macro functions without the "RE" designator have been changed to force Perl Regular Expressions to OFF before operation. The trailing "i" indicates that a case insensitive search will be performed.

  • New: RunProgram() allows programs, documents and folders to be opened from within a macro. A 'wait' parameter provides the ability to suspend macro execution until the program has closed. RunProgram exposes the ShellExecuteEx Windows API call to Boxer macro users.

  • New: PressChar() prompts the user with a supplied string on the status bar, and places the next character pressed into a supplied variable. A popup dialog does not appear, as it does for GetChar().

  • Enhanced: The SubString() function has been extended to permit negative 'index' and 'len' parameters, in the flavor of Perl's substr() function: If 'index' is negative, and 'len' is positive, 'str1' will be filled with 'len' characters starting 'index' characters in from the end of 'str2'. If 'len' is negative, the value of 'index' is ignored, and 'str1' is filled with the rightmost 'len' characters from 'str2'.

  • An "Insert Tab" button has been added to various Find and Replace dialogs to make it easier to insert a tab character into the search string.

  • When a selection is present, the Find Mate command will extend the selection to the mate of the first character in the selected text.

  • Perl Regular Expressions Enhancement: references to named subpatterns [example: '(?P=name)'] will now be processed when they are found in the replace string. In the past, only numbered subpatterns [example: '$1'] were recognized in the replace string. Named subpatterns can be used in the Replace and Replace Line Enders dialogs, and with the ChangeStringRE() macro function.

  • Three new commands have been added to help delete lines of a given class:

    Edit|Delete|Lines that do not Begin with …
    Edit|Delete|Lines that do not End with …
    Edit|Delete|Lines that do not Contain …
  • Command Multiply Enhancements: The operating scope of the Command Multiply feature has been expanded beyond the most common cursor movement and text entry commands. Now, the execution of a wide variety of Boxer's other commands can also be multiplied: Reformat, Quote and Reformat, Unformat, Align Left/Right/Center/Smooth, Delete Previous Word, Duplicate Line, Find Previous/Next, Indent with Space/Tab, Unindent, Undo, Redo, Insert Filename, Cut, Append, Cut-Append, Paste Clipboard 'n', Insert Line Above/Below and Insert Short/Long Date/Time.

  • Active Line/Page Reporting: when dragging the vertical scroll bar up and down to scroll through a file, the line number of the top line of the view, and the page count, will be continuously updated on the Status Bar.

  • An option has been added to the Sort dialog to perform a true ASCII alphabetic sort. (The existing alphabetic sort option performs a sort using locale tables provided by the operating system. These tables enforce regional conventions for sorting according to case, and for how accented characters are to be sorted.)

  • The Window menu and the File Tab context menu each have a "Skip" command that will cause the selected file to be skipped over by the Previous and Next Window commands. Use this option to control which files become active when using Previous/Next to cycle among open files. The skip status of each file is stored when an edit session is closed, so it will persist if the session is later resumed. The File Tab context menu also includes options to set or clear the skip status for all open files. Optionally, a skipped file can have its skip status released by clicking on its File Tab tab directly.

  • An option has been added to the View|File Tab submenu to sort file tabs by order of use: whenever a file tab is clicked it is promoted to the first position.

  • The ANSI Chart and OEM Charts have been enhanced to use a multi-column Listview control with grid lines. The ANSI Chart will use the same font and code page as the screen font; in the past the Western/Latin code page was always used.

  • An option has been added to set the default line ender (PC/Mac/Unix) for new files.

  • A file can be closed by clicking on its file tab with the middle mouse button.

  • Verilog constants of the following forms will be highlighted as numeric values by Boxer's syntax highlighting feature:

  • 32'd65535
    16'b1011_1011_1100_1010
    32'hFFFF0000
    8'o377
  • Added an option to automatically release the text selection after performing Cut, Copy, Append or Delete. The option appears on the Configure|Preferences|Editing dialog page.

  • The Word Count and Total and Average report dialogs now each include a Copy button to copy the results in the dialog to the current clipboard.

  • An option has been added to allow the Tab key to be non-destructive when in typeover mode.

  • Shift+Home, Shift+Home, Shift+Home can now be used to extend a selection to start of line, start of page and start of file, when pressed in succession. The same treatment applies to Shift+End.

  • If a selection exists when the Previous Bookmark or Next Bookmark command is issued, the selection will be extended to the bookmark location.

  • The Edit|Insert Character command can now accept a series of character values as input for insertion into the current file. Various formats are now recognized, for example: 255, xff, 0xFF, $ff, FFh, \377 and o377. Also new: the value(s) entered will be remembered and recalled when the command is next used.

  • Find Text in Disk Files: a range of lines can now be selected in the results window. Selected lines can be copied to the clipboard using the new Copy Selected button, or deleted from the results listing with the Delete key.

  • Add an option to the Spell Checker dialog to check all open files, or all files in the active project. The new "Next File" button on the spell checker correction dialog can be used to skip to the next file prematurely.

  • The HTML Color Hint feature will now recognize color designators of the form "rgb(255,255,255)", and present a pop-up color swatch when the mouse hovers over such text.

  • Added a speedbutton to the "Find Text in Disk Files" and "Find Disk Files" dialogs that quickly sets the search directory to that of the currently edited file.

  • The Undo command is now better at restoring the prior view when a previous change is undone. This means that if a previous change was performed while editing near mid-screen, Undo will restore the view to mid-screen when the change is undone.

  • New command: Sort File Tabs by Extension, available from View|File Tabs, and from the right-click context menu accessible from the file tabs

  • An option has been added to reset the active clipboard to the Windows clipboard on startup. Its default setting is ON.

  • Window and dialog sizes and positions are now stored as a percentage of the current screen size, so that if the screen resolution ever changes, or Boxer's settings are transferred to a new PC, its windows will be scaled to the new video settings automatically.

  • An option has been added to the Configure|Preferences|Cursor Travel dialog page to allow the Window Previous/Next commands to move according to the File Tab order (as per v11), or according to the window 'z-order' (pre-v11)

  • An option has been added to control whether or not the Find and Replace commands will suggest the word under the cursor as the initial search string


    Changes

  • When right-clicking on an inactive file tab, the identity of the tab will be recognized so that the Close and Skip commands in the context menu apply to the file tab clicked, and not the active file tab.

  • Boxer will read its home directory from the registry, and not from the file path of the copy of B.EXE that was run. This allows a copy of b.exe to be run from a directory other than its home directory, without triggering warning messages about missing keyboard files, etc.

  • Allow the incremental search feature of the Find dialog to respect the Wrap Around option, if active

  • Ensure that the Previous Bookmark and Next Bookmark commands will jump to a bookmark that resides on the current line, if its column location is appropriate to the request.

  • When using File|Save All, and two or more FTP files are among the files to be saved, the FTP connection will be kept open while the files are saved, rather than closing and opening the session for each file.

  • The Goto Column command will now accept values that place the cursor past the end of line, so long as the Configure|Preferences|Cursor-Travel option "Move from end of line to start of next line" is not checked.

  • Remove restrictions on the maximum and minimum point sizes for screen and printer fonts

  • When looking backward for an open tag ("<") in HTML files, Boxer will no longer be confused by open tags that appear within a double-quoted string.

  • Ensure that replacements that are made after selecting "All" during Replace can be undone with a single Undo command.

  • An argument has been added to the macro function Deselect(). The new 'mode' argument can be used to control where the text cursor is placed after the selection is released.

  • After running a macro, check to see if any edited files have been changed by other processes, or by the macro itself.

  • Take steps to ensure that the display of filenames that use characters from non-Western code pages are displayed properly throughout the program.

  • Due to a problem reported by users in countries that do not use the Western/Latin code page, the date in the lower right corner of the status bar will now be displayed in English, and not in the language dictated by the operating system's regional settings. The Insert Short/Long Time/Date commands will continue to honor the system's regional settings.

  • In the custom File Open dialog, when a wildcard pattern is being used in the Filename box, preserve the wildcard pattern as new drives and directories are selected.

  • When restoring a previous edit session, make sure the files being re-opened haven't been changed to read-only status since the last session.

  • Currently, when the Paste command is issued and no files are open, a new file is opened automatically and the Paste command is applied to the new file. Now, a new file will also be opened when Paste is issued if the current window is minimized.

  • If the Block|Unindent happens to be assigned to Backspace, let the Unindent command perform a backspace when text is not selected.

  • For better compatibility with the C programming language, and with Boxer's Perl regular expression support, the macro language now recognizes octal character constants. To designate character 255 as a character constant, this syntax will now be used: '\377'. (In the past, \nnn was taken to be a three-digit *decimal* sequence, which is non-standard. You should review any macros which might have used the old syntax and make the necessary adjustments. Until now, \nnn was only recognized in string constants, and not in character constants.)

  • In the FTP Open dialog, ensure that a file does not need to be selected in the upper listbox in order for a user-edited filename to be used from the filename edit box below.

  • Syntax Highlighting will highlight numeric constants of the form $FFFF, in which the first digit after the dollar sign is a hex letter.

  • The Edit|Delete|Current Line command will preserve the cursor column as lines are deleted, moving it only when required for tabbed, or under-length lines.

  • When searching with Find Next or Find Previous in wrap around mode, a message will appear on the status bar when the search has wrapped back to the location of the first match. To enable a pop-up message box for this event, use the checkbox on the Configure|Preferences|Messages dialog page.

  • When a Find Fast search is performed, the word at the cursor will be added to the search history of the Find dialog.

  • Ensure that the -r command line option flag, which causes the next named file to be opened in read-only mode, will cause all files matching a wildcard specification to be opened in read-only mode. For example: "B -r m*.cpp" will cause all files matching m*.cpp to be opened in read-only mode.

  • Allow the playback of a keystroke recording to be undone by a single undo.

  • Replace dialog: don't require that the "Find text" string differ from the "Replace with" string in this specific case: when Regular Expressions are OFF and Case Match is OFF. (This ensures a user can use search=Boxer and replace=Boxer in order that Boxer, BOXER, boxer and BoXeR are all changed to Boxer.)

  • Return focus to editor window after Tools|Value at Cursor is issued, so that editing can continue uninterrupted.

  • Adopt a new method for detecting filename in FTP display, in hopes of being able to parse the directory listing of even more server types.

  • Give a warning when Project|Add or Add All is used to add an untitled file to a project.

  • Ensure that the Window List retains focus when the Delete option is used to close the currently active file

  • Yes/No dialog could use 100% of CPU when waiting for a reply to a changed file alert.

  • Files sizes in the custom File Open dialog box are displayed with commas, and are right justified. Other fields have also been right justified.

  • Remove "/" as a string delimiter in Perl. It was leading to troubles with Syntax Highlighting, and I've been told there are other ways to do the same thing.

  • Relax the requirements for displaying a color popup when atop a hex color code to also permit the following:

    =#203F4B        old
    ="#203F4B"      old
     #203F4B        new
    :#203F4B        new
    
  • When deciding whether an existing selection should become the search string, or become the scope of the search itself, Boxer will now use a value of 50. That is, when a selection of 50 or fewer characters exists on a single line, and a Find or Replace dialog is summoned, the selection will be suggested as the search string. When a longer selection exists, the scope in the dialog will be changed to "Selected text".

  • When creating a keystroke recording that contains a Run Macro command, ensure that only the Run Macro command is recorded, and not the commands contained within the macro itself.

  • Ensure that a project file is added to the Windows Start|Documents list when the Project|Edit Other and Project|Edit Active commands are used.

  • When pressing Enter in the middle of a line with spaces to the left of the cursor, ensure that the spaces are not stripped from the line being split.

  • Allow the last line of the file to be scrolled as high as mid-screen, displaying empty space below EOF. This option can be disabled on the Configure|Preferences|Cursor Travel dialog page.

  • The numbered Recent Project icons have been made blue to distinguish them from Recent File icons when they reside on the toolbar

  • Give more meaningful toolbar button hints for the following classes of toolbar buttons: open recent file #, open recent project #, switch to window #, user list #, user tool # and run macro #

  • Allow the Escape key to close the Value at Cursor dialog


    Fixed Bugs and Quirks

  • Boxer could not be closed by right-clicking its toolbar icon when two or more files were open.

  • On Windows XP (but not Windows 2000), when the vertical scroll bar was on (but NOT when the horizontal scroll bar was also on), various text operations (File|Reload, for example) would cause the vertical scroll bar to disappear.

  • If Boxer was left open during shutdown, it would fail to respond to the close message from Windows and shutdown would be disrupted.

  • After double-clicking on an email address or URL, double-click could not be used to select the current word until other editing actions had occurred.

  • If multiple Boxer-associated files were selected in Explorer, and Boxer was not currently running, and Enter was pressed to load the files, only the first file would be loaded into Boxer.

  • The Go to Column command did not take tab characters into account when positioning the text cursor.

  • When using Find Next to search for a string that occurred to the left of the cursor, and wrap around mode was active, and the instance to the left was the only occurrence in the file, the string was reported as not found.

  • Under certain conditions, a Search and Replace operation performed within a selection would loop forever after selecting 'All."

  • The ByteCount() macro function did not agree with the file size reported for a file after it was written; a 2-byte discrepancy existed.

  • If a macro was edited from the "List" tab of the Macro dialog, and a new macro was then selected from the list without first saving the changes, the changes would be lost.

  • Changing the tab key mode in Edit|Preferences|Tabs didn't take effect until a second visit to the configuration dialog.

  • Some of the higher entries in the Tools|Error Chart were misformatted or truncated.

  • A macro which changed the current file to another file during its operation would cause the Undo command to behave as Undo All in the file from which the macro was originally run.

  • When a non-Western screen font was in use, the characters selected for visible spaces/tabs/newlines were being selected based on the OEM values, and not the ANSI values, from Configure|Preferences|Display.

  • When a non-Western screen font was in use, the ANSI visible space/tab/newline characters displayed in Configure|Preferences|Display did not reflect the screen font in use.

  • The horizontal scroll bars that appear in the Search|Find a Disk File dialog, and in the Configure|Text Highlighting dialog, were sometimes not properly scaled to display the full extent of long entries.

  • The macro function PutLine(), when used to replace the text on the last line of the file, would add an extra line to the file.

  • When the Tab key was configured to be self inserting in various Find and Replace dialogs, Shift+Tab would also insert a tab, rather than moving to the previous control in the dialog.

  • Very long replace strings could cause a crash when they exceeded the buffer used to report the string as not found.

  • The macro functions LineContainsRE() and LineContainsREi() would cause infinite looping when processing empty lines.

  • If the Delete key was used to delete a columnar selection in the macro editor, the text would be deleted as though a stream selection had been made.

  • When returning to the Macro dialog after opening, changing, and then saving a macro file in Boxer proper, the macro editor window would not display the latest content of the macro file until it was re-selected in the list.

  • A keystroke recording that used the Tab key to indent a range of lines would see the Tab press appear twice in the resulting keystroke recording.

  • Search|Replace Again was not enabled in the menu after a Replace All operation for which confirmations were not given.

  • "Edit|Delete|Lines that End with" would not delete lines if the designated string also occurred earlier on the line.

  • Find Next, from very last position in file, with wrap around mode in force, would not wrap to the start of the file

  • The Random option in Sort Lines was not providing a true random distribution.

  • Find Previous, from the very first position in the file, with wrap around mode in force, and when a match existed at that position, would not wrap to the end of the file

  • minor bug:

    1. paste text block into a new window so that vertical scrollbar appears (ok)
    2. undo, and scrollbar disappears (ok)
    3. redo, and scroll did not reappear (bug)
  • The menu icons in the File and Project menus would disappear after either of their respective recent files submenus were cleared.

  • Fixed a word wrap bug that could occur when long strings without spaces were pasted into a paragraph.

  • After reloading a file changed by another process, and if that file was not the current file, the application title bar would display the wrong filename.

  • The Find dialog could get into a situation where the "Selected Text" radiobutton was selected but disabled.

  • If a non-existent ftp file was named in a project file, subsequent ftp files named in that project file would not be opened properly.

  • Files greater than 2 GB in size would have their file size displayed improperly in the custom File Open dialog.

  • Ensure that the Find Text in Disk Files dialog doesn't try to set focus to the FindComboBox when that control is disabled (as occurs when the scope is set to "All Open Files")

  • Prevent error when an existing project file refers to a distant filepath that no longer exists

  • The Value at Cursor command would give an exception error if left on from a previous session, and the new session had no open files.

  • The Save Key Recording and Load Key Recording commands shared a command number internally, making it impossible to assign unique keystrokes to these commands

  • The View|Hex Mode command did not reflect the actual line ender style in use according to File|Properties.

  • View|Tab Display Size|Intelli-Tabs was not considering the last line of the data file in its computations.

  • When the Project|Add One or Add All commands were issued, the read-only state of the added file(s) was not noted when the file was added to the project file.

  • Find Text in Disk Files did not search and report results properly for files with Macintosh (CR only) line enders.

  • A keystroke recording containing a key sequence that runs a macro would not playback properly.

  • A template that contained the ^^ sequence could be processed improperly when inserted more than once.

  • When a template used vertical rule (|) to indicate cursor placement, and that character appeared after other instances of double vertical rules (||) in the same template, the cursor would be misplaced and the || sequence was misinterpreted.

  • A file that was opened for shared write access was not properly sensed as being changed by another process when focus returned to Boxer

  • The Recent Project 9-16 entries in the recent projects submenu were non-functioning

  • When running a macro from the command line that included the Exit command, an exception error could occur if the mouse was moved while the editor was in the process of exiting.

  • An error could occur when using Replace Line Enders if the cursor location before the operation came to be non-existent after the operation, as a result of removing newline characters

  • The sort mode and sort direction of the Window List were not being remembered

  • The IndentWithString() macro function would prompt for a string, even when a string had been supplied as a parameter

  • When a very long search pattern was used, and the string was not found, a crash would result immediately after the dialog that reported the string to be not found.