WinVi Changelog

What's new in WinVi 3.02

Jan 1, 2013
  • Dynamic loading of DLLs is now done from the system directory.
  • Insertion of empty lines with enabled auto-indent in UTF-16 files fixed.
  • Improved detection of UTF-16 encoding without BOM.
  • When escaping search input ( Esc after / or ?), the default marker is not changed anymore.
  • The BOM character is skipped when printing UTF encoded files. (A small sign for non-printable characters appeared as the first character in earlier versions.)
  • When dragging the mouse vertically outside of the window, the position is set properly within very long lines.
  • In the ex command :cd, the character pairs ## and %% are each abridged to one character as in other file commands. This is the way how to escape these charactes for avoiding replacement with the current or previous file name.
  • When switching to UTF-8, the cursor is not moved anymore, if its position is located within an invalid UTF-8 byte sequence.

New in WinVi 3.00 (Feb 3, 2010)

  • Word extraction in positioning commands #, * and Ctrl+] behind a multi-byte character in a UTF-8 file has been fixed.
  • Inserting a multi-byte character (e.g. from clipboard) into a UTF-8 file at the end of line or end of file produced a wrong cursor position. Fixed.
  • Deleting to the end of line in hexadecimal mode now also removes the last byte in the line.
  • Switching between UTF-16 and other encodings used up too much time, now it is faster.
  • Positioning to an empty line (coded CR/LF) has beed corrected.
  • Closing WinVi now interrupts a hidden external command which produces output into the file.
  • An active tag command is now cleanly stopped when WinVi closes. Before, a white rectangle appeared in the upper left screen corner.
  • Inserting a CR before an LF and inserting an LF after a CR is now correctly processed.
  • The positioning command G now works as expected on a one-line file without leading blanks.
  • The positioning command Ctrl+End now sets the cursor position to the end of the last line of the file. Before, as with G, the cursor was positioned to the start of the last line.
  • After inserting from clipboard im replace mode at the end of a line, the cursor keeps its position behind the last character.
  • When inserting a buffer between CR and LF, line counting is now correct.
  • The french menu entry for exiting is now named Quitter instead of Fermer.
  • More bugfixes concerning the handling of UTF-8 and UTF-16 files.

New in WinVi 2.99 (Feb 3, 2010)

  • There was a major bug in the previous preliminary release: When inserting an empty line at the beginning of a UTF-8 encoded file starting with a BOM, an endless loop required a manual program termination. This error has been fixed.
  • A minor problem displaying the caption of the dialog box for inserting files is also solved.
  • WinVi32 can now be compiled with the new Visual C++ 2008 Compiler from Microsoft. This is tested with the free Express Edition. The required project and solution files are included in the source zip archive.

New in WinVi 2.97 (Feb 3, 2010)

  • In rare cases, a memory allocation error occured. A potential reason – a faulty calculation of the display lines in the main window – ist solved.
  • The message for memory allocation errors (“Not enough local memory”) is displayed with a hint number to allow determining the reason.
  • Due to an error in resource numbering it was not possible to select the paper orientation for printing. Fixed.
  • Pasting binary data containing null bytes at the end of file jumbled the byte order. Also fixed.
  • Determining the number of lines to scroll with a wheel mouse is now adjusted to the current Win32 API. At least in Windows XP the mouse wheel always scrolled by 3 lines.
  • The caret shape (the blinking cursor) is customizable now. There is no user interface yet, any changes can only be done by directly modifying the registry. A new binary value can to be added at the path HKEY_CURRENT_USER\Software\Ramo\WinVi. The value has the name CaretProperties. If this value is missing, the following default value is assumed:
  • 99 00 00 00 00 97 00 00 ff 02 59 ff 02 00 00 96 00 00 fd 03

New in WinVi 2.94 (Feb 3, 2010)

  • Found and fixed crash in the substitute command with c suffix which replaces a string with zero length (e. g. :s/^/x/c).
  • Display errors in substitute commands with c suffix, which replace strings at line starts, are fixed.
  • Drag and drop within long operations (read, write, search, substitute and shell execution) is now deactivated.
  • Several corrections in handling upper and lower case and character set conversions in regular expression sets (/[...]/). Now a backslash can be used to suppress the ignorecase option for the corresponding letters in sets.
  • The regular expression $ now finds the end of file if the last line is not terminated with a newline character (displayed as horizontal double arrow).
  • After appending a newline to an incomplete last line and leaving insert mode, the current position is set back to the last position of the last line.
  • The new source file "SrchDlg.c" was missing in some makefiles. This file is added now. Compilation should be possible without errors again.
  • Added new accelerator keys Ctrl+O for opening a file and Ctrl+S for saving. The old accelerator Shift+F12 is still available for saving.
  • There is a new menu entry for EBCDI code characters. This feature is still experimental. If you encounter any problems due to missing EBCDI functionality in WinVi, please report.
  • The "Apply" button in the settings dialog ist now disabled as long as no options are changed.
  • Tab expansion of file names in ex command lines can now be used for expanding server and share names. A long server search can be interrupted by typing Ctrl+C or Ctrl+Break.
  • A new settings field in the File tabsheet can be configured to restrict server expansion in larger networks. You can enter a comma-separated list of Windows domains or workgroups, which are resolved with the usual file pattern matching algorithm (wildcards ? and *).

New in WinVi 2.90 (Feb 3, 2010)

  • Corrects a very serious segment loss effect in the 16-bit version when performing global substitutions. This could even result in a system crash when using version 2.73 (16-bit) in Windows 3.1.
  • Any corrections and new features since May 1999 (2.73) are now available in the 16-bit version.
  • New 32-bit WinVi instances start up with a short delay when other WinVi windows are blocked (e.g. when waiting for a network response). However, the Windows menu may lack displaying some entries in such a case.
  • Avoids a rare crash when searching within a file while inserting output from an external command.
  • New built-in tabsheet implementation for settings dialog, fully functional in Windows 3.1 and Wine
  • (tested with Wine release 20000109 contained in Debian GNU/Linux 2.2rev0).
  • When dragging the scrollbar the original cursor column is now retained.
  • Any mouse operations combined with the shift key can be used to extend the selection in insert mode.
  • The undo history is now limited by the amount of memory and not by the number of commands. The maximum amount can be configured.
  • Undo/redo with key u can now be repeated by entering the period key (u.).
  • Some positioning commands in hexadecimal mode failed to handle repeat counts, now ok (e.g. 5 ).
  • Some more improved positionings in hexadecimal mode.
  • New command line parameter -R for editing in read-only mode.
  • New ex commands for setting ANSI and OEM character set (:set ansimode or :set dosmode)
  • The key now switches between insert mode and replace mode.
  • New shortcut ZQ for unconditional quit (same as :q!).
  • New accelerator for undo (same as ).
  • All context menus now contain shortcuts (Alt key + letter).
  • Revised French translations.

New in WinVi 2.80 (Feb 3, 2010)

  • There is a new Notepad compatible handling of parameters if the executable filename starts with 'N', e. g. NWINVI32.EXE
  • Deleting a very large area could result in a program crash in very rare cases. Fortunately, I never experienced or heard of such a crash. This problem has been solved.
  • The combination of a repitition factor and a named buffer needed a correction (example: 3"xdd did not delete three lines).
  • Replacing by newline characters in replace mode (r or R) now works the same way it does in other vi versions. replaces one byte, however, the following tab and space characters will be inserted if auto-indent is enabled.
  • Display errors are corrected when scrolling horizontally by about 65536 pixels. This seems to be a problem with the 16-bit GDI and does not occur on Windows NT.
  • All settings are gathered in one dialog box with tab sheets.
  • There are new settings for the font used in hexadecimal mode and for the maximum scroll area.
  • In many cases, a file can already be read while it is being written.
  • When opening a file with one of the menu items "File" -> 1...6 and the current buffer has not yet been saved, the old file will be stored relative to the original working directory (if not specified with full path) instead of the new one.
  • When browsing to a different folder with open / save-as and then escaping the dialog, the change of the working directory will be reverted.
  • Printing "all" after printing part of a document now actually prints the entire file.
  • Reading a large file can be interrupted by typing or .
  • The two fields at the right end of the status line (line/column) are enlarged if the number of visible digits is too small.
  • There are many more small corrections and enhancements which cannot be mentioned in detail.

New in WinVi 2.72 (Feb 3, 2010)

  • The characters '%' and '#' will be replaced by the current or alternate file name on the ex command line. There was no way to escape these characters for specifying file names containing such a character. Now you can specify these characters by doubling it. This is automatically done when using tab expansion.
  • An inconsistent state when checking the modification time of a file being read has been removed. After editing a large file in the Temp directory and switching to another file, an error box might have shown the incorrect message that the new file has already been changed.
  • A memory leak when yanking into a numbered buffer has been eliminated. When performing extensive substitutions on large files replacing the newline character, an error box might have appeared ("Not enough memory for yank"). Meanwhile, :substitute does not use yank buffers anymore.
  • Again after extensive substitutes, Windows NT might get into trouble creating a new window (e.g. the command line or File->Save as...) In this release, the most important windows can be created but a warning message will be displayed urging for finishing the WinVi session.
  • and in insert mode can now remove other characters than letters or digits. In previous versions this key combination did not change anything at positions after spaces or special characters.
  • The size of dark red line termination characters in text mode is now adapted to the size of the main font.
  • When using other national font settings than Western, the null byte was not properly displayed as the degree sign. Now, null bytes are generally represented with a small rhomboid in text mode.

New in WinVi 2.70 (Feb 3, 2010)

  • General revision of popup menu handling in command line expansion of file operations (tab in status line): There will appear upto 4 columns at most, in sorted order, directories first. Menus for larger folders are split into two or more subordinate menus.
  • In previous versions, WinVi crashed in a system DLL or the system might even get unstable if too many directory items were listed (Windows 95)! I am unsure about problems in Windows 98 or Windows 3.1, but I assume similar effects.
  • WinVi got stuck under Windows NT: When the current file gets changed externally, a message box appears in the 32-bit version if the WinVi window is running in foreground (since 2.69c). Otherwise the window/icon starts to flash. Applying the minimize/exit buttons (right upper corner) while flashing led to a deadlock in the program.
  • Changing the language also adjusts the sizes of the status fields. However, the edit field in the status bar has not been adjusted in previous versions. A mouse click into the gap behind the edit field created a second edit field that was unusable. This error has been corrected.
  • Using other means of saving the current file (i.e. menu or toolbar) was not restricted by this problem.
  • Settings dialog split into "Edit settings" and "Display settings". This is an interim extension for being able to add new options quickly.
  • New settings for "Refresh background bitmap" and "Line spreading !/c/d/y operations on full rows". The latter has not yet been translated into French and Spanish.
  • Some minor changes in hexadecimal mode:
  • corrected scrollbar handling, no cursor movement when pasting at EOF.
  • Positioner "[[" and "]]" implemented (previous/next open brace at start of line).

New in WinVi 2.68f (Feb 3, 2010)

  • The 32-bit version now works with Windows NT 3.51 (and hopefully in any older NT versions),
  • Forward search for '/' or backward search for '?' as a non-first character is now possible from the dialog box (previously the search pattern ended at this character),
  • several corrections in the error handling of tag specific operations,
  • choosing a file from the recent file list (menu 'File' -> '1'...'6') shows an immediate feedback in the status line while changing the current directory,
  • the status line now shows a result string when indenting or unindenting more than one line,
  • changed character attributes for start or end of word in other ANSI codepages than 1251 (Western).

New in WinVi 2.65 (Feb 3, 2010)

  • improved French translations for many strings,
  • after a change of the current language, the context menu appears in the specified new language,
  • better visual feedback in status line when executing ,
  • slightly changed check of file date and time before overwriting.

New in WinVi 2.61 (Feb 3, 2010)

  • several corrections in substitution of newline characters,
  • searching with a regular expression \(...\) and replacing by \1 correctly replaces empty strings,
  • problems when replacing by very long strings solved (maximum expanded length was 512 bytes),
  • cursor is set to a "valid" position after substitute of newlines,
  • "lost" changes in hexadecimal mode do not occur anymore (error in swap file handling),
  • scroll operations, mouse positionings, switch between left and right side in hexadecimal mode and switching off hex mode resets input of the second half of a byte,
  • file list in file menu expanded from 4 to 6 entries,
  • when maximized, the status line is displayed in normal height (was two pixel rows too small)

New in WinVi 2.59 (Feb 3, 2010)

  • Memory problems in 16-bit version removed. When executing extensive changes by global Search/Replace or ":%substitute", memory may be exhausted. As a result, Save and Exit was not possible afterwards.
  • Display error when shifting above the window in backward direction (e. g. ">k" in first line).
  • Several corrections in regular expression handling when matching zero-length strings: "/^" does not match the end of the file, "/$" or "/\>" can be repeated at the end of a line, ":/^" or ":?$" does not skip lines anymore.
  • Wrong translation in submenu Edit corrected (English / French).

New in WinVi 2.50 (Feb 3, 2010)

  • New positioning operators * and # (similar to VIM),
  • ":set number" for display of line numbers,
  • list of the 4 recently edited files in file menu,
  • binary data including null bytes can be transferred via clipboard from another WinVi instance,
  • dialogbox when typing F3 for searching for the first time,
  • hexadecimal input in search dialogbox,
  • extended regular expressions with hexadecimal escape \%xx and branches similar to VIM's patterns with \( ... \| ... \),
  • correction: multiple execution of 'P' and 'p' with a repeat factor,
  • accelerator keys uniquely reassigned (especially in French dialog boxes),
  • several small corrections (mainly in search/replace).