History of Changes for the Zeus for Programmer Text Windows Editor ================================================================== and the Zeus Lite for Windows Text Editor ========================================= Author: Jussi Jumppanen e-mail: jussij@ca.com.au Home Page: http://ourworld.compuserve.com/homepages/jussi/ Zeus Version 1.00 ----------------- Initial release of the Zeus for Windows Version 1.00 Zeus Version 1.01 ----------------- 1) Fixed: Problem with electric keyboard expansion. The electric listbox is case insensitive but the search was done as case sensitive. This meant the following expansion did not work. "T" 1 "TRUE" Note: That the keyboard expansion is still coded to be case sensitive. 2) Fixed: Tab characters where not being processed correctly in the preprocessor string. For example the following would paint incorrectly. #ifdef 3) Fixed: Tab characters where not being processed correctly when place within strings. For example the following would paint incorrectly. "this is a string with a tab in it" 4) Added: Added electric expansion "\b" control character and changed search to limit words with delimiters characters also (ie "(ifg" would now expand out). 6) Added: Backup interval edit field to editor options dialog box was added. 7) Added: If Zeus is minimised and a file is opened by double clicking or dropping on the Zeus for windows icon (using the File Manager, Zeus file associations) then Zeus will be restored to normal size. 8) Added: The Open dialog now has persistence. It remembers the file extension filter last used (for the period of the edit session only). Zeus Version 1.02 ----------------- 9) Added: New functions, Close, Close All and Save All added to the toolbar and Save All option added to the File menu. 10) Added: Standard CUA keyboard mappings for cut, copy, paste and marking have been added to editor. 11) Added: Better use of the hourglass for operations requiring CPU time. 12) Added: Brief Ctrl-F5 toggle case sensitivity command was added. 13) Fixed: Tab and Shift-Tab of a marked area now moves the area with tabs or spaces depending on the options editor "Replace tabs with space" option (old version would always use spaces). Zeus Version 1.03 ----------------- 14) Fixed: Major problem with non US keyboard drivers now fixed. For example Zeus would cause crash if keyboard was set to German and an extended (Non ASCII) key was pressed. 15) Fixed: Problem with compiler not working over different disk drives. ie c:\zeus could not compile file located in e:\project. 16) Added: Error listbox font now matches the font selected for editing. This should allow more of the error message to be seen (in the case of very long error messages). 17) Fixed: When the compiler is run in minimized mode, Zeus for Windows does not loose active status any more (it would incorrectly switch to the program manager if the PM was visible). 18) Added: Brief Ctrl-K Kill to beginning of line command added. 19) Added: Multiple file selection to the File Open dialog box added. 20) Added: Extra messaging reporting added to the status line. 21) Added: Ability to define two file open and file save as filters was added to the editor setup dialog box. 21) Fixed: Problem found when a stream marked area that contained tabs characters was deleted or cut has been fixed. NOTE: Version 1.03 Frozen ========================= Sold first copy of Zeus for Windows V1.03 Editor. Zeus for Windows frozen at this version while work starts on the platform portable version of Zeus. Zeus Version 1.04 (Start of portable version) --------------------------------------------- 22) Fixed: Any multi select file open on any root directory (ie a:\\filename.txt) would cause an error opening the selected files. 23) Fixed: Double click on error list box would loose the status bar error when the document was activated. Now the error is not lost on double click activation. 24) Fixed: Added feature to editor setup that enables the size of the newly created MDI window to be controled. 25) Fixed: Smart indenting in overwrite mode would delete characters from the line below. This has now been fixed. 26) Added: Goto dialog and bookmark dialog now remember the last valid value entered. Also better feedback via the status line was added. 27) Added: The Error listbox now supports a horizontal scroll bar. 28) Added: A Online Help QuickSearch feature was added to the Help menu popup. 29) Fixed: The compiler error processing has been reworked in an effort to remove a few strange bugs that would sometimes occur while compiling. Also a third parameter was added to the command line arguments passed to compiler batch file (see online help for details). 30) Added: Added a new improved toolbar and status bar. It paints better, have less flicker and removes some of the keyboard problems (ie using the old toolbar the alt key would not work if the mouse pointer is on a toolbar button). 31) Added: Added a the ability to show and hide the toolbar and status bar using the menu options. 32) Fixed: Hitting backspace with the cursor at column position 0 does not delete the character like it use to. 33) Fixed: Searching for whole words was not working. This is now fixed. 34) Fixed: The Replace dialog find and replace buttons where not working as would be expected. This has now been fixed. 35) Fixed: Reduced the amount of screen flicker when opening and closing the MDI windows. 36) Fixed: Added error message if you try to compile a file that is changed and somehow becomes write protected. Previously Zeus would just abort the compile without an error. 37) Fixed: Zeus would let you start multiple compiles while the first compile was still in progress. This eventually caused the system to GPF. Zeus has been fixed, so that it now only allows one compile at a time. 38) Added: The error window now supports the Control+Minus key (or file close menu) option. If the error windows contains compiler output the control minus returns you to the file that had been compiled and so it behaves like a reverse to the Control+P list errors keystroke. 39) Fixed: The Open and Save As file dialog where modeless. The have now been made modal to the main application. 40) Added: The file restore on startup feature now restores the file and the line number on startup. 41) Added: The insert/overwrite now have proper insert and overwrite carets (cursors) respectively, giving better visual feedback on the current insert mode. 42) Fixed: The word highlighting code will highlights quoted strings differently to normal text. This algorithm would work for the first quoted string but not for the second of two quoted strings on the same line. For example: VALUE "CompanyName", "Xidicone Pty Ltd", "Zeus for Windows" for the line above Atl-h would correctly highlight the first but not the second or second strings. It now works correctly for all strings. 43) Added: The compile process now reports if the compile was successful, has warnings or has errors. Previously it only reported the compile was complete. 44) Fixed: If the Enter key was hit while text was highlighted, the highlighted text was not replaced by the enter key. This has now been fixed (NOTE: this ONLY applies when the editor is in insert mode). Zeus Version 1.05 (Start of Windows 3.x, Windows 95, Combined Development) -------------------------------------------------------------------------- 45) Fixed: Fixed a few /****/ comment painting problems. I'm sure there are still a lot more to come! Bug #1: Put the cursor on the middle of the first comment line and then hit the Alt-K key. Then hit undo and the painting does not return to the correct comment state. /*************************************************************/ This should return to none commented after the undo is done! /*************************************************************/ Bug #2: Insert line number one into the the block comment then hit undo. /* This is line number one (copy this line only) */ /* * This is the block comment * Insert the the one line above here! */ 46) Added: The search and replace dialog gives the user better feedback by using the status line to display a message when things go wrong. 47) Added: The editor setup option now allows you to toggle a left hand margin on or off. 48) Fixed: Fixed 3 bugs with the comment /* ie comments */ processing. The old code was getting out of synch after several line insertions and deletions. The new code has at least 3 less bugs to worry about but still has problems. 48) Fixed: Improved the background compile processing. For example by improving the message dispatch a typical background compile time has been reduced by 50% and loads from floppy disk are much faster. 49) Added: Added limited keyboard macro support to allow the recording and playback of simple key strokes macros. Now supports F7, F8 and Ctrl-R commands. 50) Added: Configurable colorize support based on file extension. This also allows things like the keywords, comment character, preprocessor character, string character and delimiters characters to be defined for each file type. 51) Added: The editor now supports a basic line wrap feature. This allows you to define the column at which the editor will automaticly line wrap, breaking the line on a word boundary. 52) Fixed: Fixed a bug in the options editor dialog where the backup interval entry field was getting disabled incorrectly. 53) Added: The file open can now be configured to allow/not allow single or multiple loads of files. This means that if the file is already loaded Zeus can be made to restore the original rather than loading a second copy, or a second copy can be opened if required. 54) Fixed: Fixed a problem will Zeus trying to open a file that was already opened by another application. After the sharing violation message Zeus would protection violate. This has now been fixed. 54) Added: Added the ability to read and write Unix text file in addition to the default standard MS-DOS text file formats. 55) Added: I have added as restore size feature. Zeus now remembers the size and position of the main frame window between editing sessions. 56) Added: If the error handler finds the error in and external file and that error is selected from the error output window, the error handling will no try to open up the external file and goto the line at fault. 57) Added: Support for setting up and running external tools has been added to the main menu. Piping of the results to an output window has also been added. Files can be loaded from the output window by just double clicking on any line in the output window, provided the line selected contains a valid file name. 58) Fixed: The print support in Zeus has been totally re-worked. This has improved the printing and hopefully fix the numerous problems with the old printing code. 59) Fixed: The CUA marking has been fixed to also allow CUA marking while using the word left or word right keys. Also the ghost mark sometimes seen when CUA marking has been fixed. 60) Added: The command line processing has been improved to allow the '?' and '*' wild card characters. This enabled multiple files to be loaded via the command line, for example when Zeus is run from File Manager or Program Manager menu run commands. Zeus Version 1.05.3 ------------------- NOTE: Zeus Windows 3.x Version completed and tested while Zeus Windows 95 awaits the final release of Windows 95 to allow testing to be completed. Zeus Version 1.06 Alpha Started (programmable keyboard and macro support) ------------------------------------------------------------------------- 61) Added: Support for the Alt-B list file buffer function was added. 62) Added: Support for the Ctrl-G list file functions in file was added. This will only work with C\C++ type function prototypes. 63) Added: Support for regular expression search and replace was added. 64) Added: The search and replace dialog now support the tab search and replace on the tab character using the '\t' search and replace strings. 65) Added: The contents of the output window and the compiler message window can now be copied to clipboard. 66) Fixed/Added (take your pick): The line goto command now retains the current cursor position. 67) Fixed The backspace command would incorrectly do a character delete when the cursor was located past the EOL. This has been fixed to only move the cursor in this case. 68) Fixed The captured output window was getting cleared every time a tool was run regardless of whether the tool was run with the capture output option enabled. This has now been fixed. 69) Added: Zeus can take any line of text in a file, parse it for a valid file name and then try to load the file. This function is attached to the Ctrl+E command or the right mouse button single click. Use this function to open include files. 70) Added: The Windows 95 version has had long file name support added. 71) Added: The following Brief keystrokes where added: Ctrl-Home - Top of page Ctrl-End - Bottom of page Ctrl-PageUp - Start of document Ctrl-PageDown - End of document Ctrl-b - Bottom of page Ctrl-t - Top of page Ctrl-d - Scroll down a line Ctrl-s - Scroll up a line (remapped) Ctrl-e - Locate file on current line 72) Added: The following CUA keystrokes where added: Ctrl-A - Redo changes Ctrl-Backspace - Redo changes Alt-Backspace - Undo changes 73) Added: The MDI Tile Vertical and Horizontal windows options have been added. 74) Added: The toolbar now has a find and replace buttons. 75) Added: The the search, replace, goto and goto bookmark functions now position the jump to new line in the center of the window, not at the top or bottom of the window as the previously did. 76) Added: The the search, replace, goto and goto bookmark dialogs remember their screen positions and restore to their old location. 77) Fixed: Fixed a problem with the auto indenting not working in line wrapping mode. 78) Fixed: Fixed a problem with maximum line length auto wrapping feature used on file load. In trying to wrap the line on a word break it would sometimes corrupt the wrapped line. 79) Fixed: The right mouse button upper case, lower case and toggle functions did not work correctly in overwrite mode. This has now been fixed. 80) Fixed: The saving of the startup files on exit did not always save the files correctly, resulting in not all files getting reloaded on startup. This problem has now been fixed. 81) Fixed: The tokenizer code could not distinguish like words for example, if you had the following keywords: right rightof then the 'rightof' keyword would never get recognized. Zeus Version 1.07 Windows 3.x, Windows 95 and Windows NT Release ---------------------------------------------------------------- NOTE: The Zeus for Windows product is built from a single code base so now all products irrespective of platform share the same version numbers. Zeus Version 2.00.01 Alpha Started (new keyboard manager and memory manager) ---------------------------------------------------------------------------- 81) Fixed: If you ran a compile where the compiler EXE was not found the error window incorrectly reported no errors found. This has now been fixed. 82) Added: The ability to match the following braces have been added "{}[]<>" and the function was bound to the Ctrl+']' key. 83) Fixed: An obscure command line bug has hopefully been fixed. For some machines with some command lines rentered, the F10 command would lock up after running the same command after a few times. This bug was very hard to replicate but I it seems to have gone away so I think it may have been fixed (seemed to be some type of timing problem). 84) Fixed: The double click close of an MDI window was not closing the message and output windows correctly (only in Win 3.x). This could result in a GPF if these windows where then put to use (ie compile or run a tool). The normal file close or Ctrl + Minus method would work correctly. 85) Fixed: The output window would no longer function once a Ctrl+G scan function was run. This has now been fixed. 86) Added: New user configurable keyboard mapping allows Zeus to support multiple keyboard mapping, including WordStar, Epsilon and Brief. 87) Added: Support for TAG characters via command line added. 88) Fixed: The online help has been totally re-written, hopefully making it easier to use Zeus and it's many features. 89) Fixed: Maximum file size increase to 60,000 lines, up from the original 10,000 line limit of earlier versions. 90) Fixed: There was an obscure bug that would cause a GPF once in a while. This was tracked down to an error in the MDI window management, so hopefully this occasional GPF has been fixed. The aim is to make sure Zeus never GPF's. 91) Added: Project support has been added to Zeus. This allows you to build a project from within Zeus. 92) Added: Compiler support now supports multiple command lines. The compiler that is used to compile the active file is choosen using the file extension. 93) Fixes: A large number of smaller fixes have also been applied, fixing things like painting problems, improved error handling and other minor problems. 94) Added: Version information has been added to all Zeus data files. This was done to make Zeus more stable and allow easier backward compatibility in future versions of Zeus. The only draw back is that Zeus 2.00 data files are NOT compatible with earlier Zeus data files. 95) Added: Zeus now does a basic form of Smart Bracing. Zeus will automatically add a matching brace and indent the cursor for the '{' brace character. Zeus Version 2.00 ----------------- Initial release of the Zeus for Windows Version 2.00 (Febuary 1996) Zeus Version 2.01 ----------------- 96) Fixed: The support for long file extension has finally been fixed (hopefully!). Zeus would not initialise the extension information when long file extensions was used. Note Zeus still only recognizes the first 3 characters of the extension to provide 8.3 backward compatibility, so long extensions are identified by their first three characters only. 97) Fixed: Sometimes Zeus would not paste the last line from the clipboard. This has now been fixed. 98) Fixed: The backspace key would sometimes delete a line if once the backspace reached the column 0 position. This has now been fixed. 99) Fixed: The in Options | Compiler "Normal" radio button would stay activate once pressed. This has been fixed. 100) Added: A literal character key has been added to the extension dialog. This allows you to define a literal character which is the used by the colorizer as a way of ignoring the quote characters. For example: "this is quote \" is not the end of the string" 101) Fixed: Fixed the DDE problem with the Win32 version of Zeus. You would get a GPF if you double clicked a WinFile file, during the DDE connection. 102) Added: The Print dialog FilePrint() function will now automatically select the print marked area if it is activated will text in the current document is marked. 103) Fixed: The F10 dir command would incorrectly detect a line number in the captured output of the DIR command in Windows 95. This would result in a file load to a incorrect line number. 104) Added: Increased the column position display to 4 digits. 105) Fixed: The Zeus dialog box's would only save there position on cancel, not on the OK or close commands. The dialogs now save their position whenever the dialog is closed. 106) Added: The printout will automatically wrap the print output to the next line if the line length exceeds the page width. 107) Added: The printout will now filter all non-printable characters from the printer output stream. 108) Fixed: When using the Options | Compiler dialog and trying to delete entries from the "Installed Command Line" either the line is not deleted or wrong line is deleted from the list. This has now been fixed. 109) Fixed: When using the Options | Compiler dialog and trying to define a command line, Zeus did not process command lines where the options follow the file name, for example: "c51 SAMPLE.C large debug code" 110) Added: The ERR files produced by Zeus for the compile process could get large in number so I added a feature where by Zeus will clean up these files once they are no longer required. 111) Fixed: The support for long file extension has finally been fixed again! Found a bug with Zeus compiling long file extensions like 'java' files. 112) Fixed: Zeus had a sizing problem when the Option | Editor Display Mode was set to create default. Once created the cursor would get lost of the bottom of the page and would not auto scroll. The scroll bars would also not work and sometimes would not be shown. 113) Fixed: Zeus would not load binary files because they contained null characters. If a binary file was loaded Zeus would get caught in a infinite loop. Now Zeus loads binary files but any null characters are replace with white space and the file is loaded as read only. 114) Fixed: The FileReloadCurrent() edit function would cause a GPF sometimes. This has now been fixed. 115) Added: Support for reading and writing OEM text files was added. This feature allows you to edit ANSI text files (character set used by Windows) even if the source is an ASCII (OEM) text file (character set commonly used under DOS). 116) Fixed: The $Column and $Line TAG macros where returning incorrect results. 117) Fixed: If you start a second version of Zeus with the -S(econd) option Zeus will just re-activate the previous versions. Zeus Version 2.15 Windows 3.x, Windows 95 and Windows NT Release ---------------------------------------------------------------- 118) Added: Add home and end key processing to the standard output, compiler output and project output. This processing moves to the home or end of the current line and replaces the default home and end processing provided by windows. 119) Added: Zeus now has a feature where by it warns the user if the file currently loaded has been changed by another application, allowing the file to be reloaded. 120) Fixed: Zeus would GPF if there where no files loaded and the user hit the Tab, or F6 key. This also applied to when the output windows where open. This has been fixed. 121) Added: When the file is in read only mode, an indication of the read only state is now shown on the file caption. 122) Fixed: The search and replace of tab characters would not always work because searching for a tab would not highlight the entire tab character. This is not fixed. 123) Fixed: The dialog box positions where being saved during the edit session but where not getting saved between edit sessions. Now working correctly. 124) Added: The line wrapping in Zeus has been enhanced to also support the smart indenting option as well. This means that as Zeus wraps it will smart indent at the same time, if this option is enabled. 125) Added: The Zeus extension code now has a case insensitive keyword setting. This should help when defining extensions for languages that are not case sensitive. 126) Added: The function list, function next and function previous commands have been added to the view menu. 127) Fixed: The replace all using the regular expression "[ ]*$" with the null character "" could cause Zeus to lock up in an infinite loop. This has hopefully been fixed. 128) Fixed: The Quick Help configuration option would hang when loading the new Windows 95 help files. This has been fixed to support some of the newer file formats, or to just report an error if the format is not recognised as a supported help file. 130) Fixed: The remove button in the define keymap dialog was not working due to a coding bug. Also keywords containing spaces where allowed, while the expansion would ignore such keywords. These are now working correctly. 131) Fixed: Some of the error message box's would not be modal to the application and could sometime get hidden behind the application. This has been change to make sure the message box always stays in front of the application. 132) Fixed: Zeus for Windows 3.x would paint badly if the background color was changed to one of the other color schemes. This would show up in the about dialog and the other dialog boxes. The paint will now support different color schemes. 133) Added: A functions to wrap the current line and a function to wrap the currently marked area have been added. These functions can be bound to function keys if required. 134) Fixed: The auto-scroll feature of Zeus used for mouse marking would not auto scroll along the x axis when Zeus was maximized. 135) Fixed: Pressing ctrl-return in the first column of a row would behave differently from pressing it if not on the first column. 136) Fixed: The brief column pasting mode as set using the Options Editor dialog was working in exactly the same way like in the original brief. 137) Added: The templates can now be defined based on the file extension. This means for example you could define an IF expansion for a C/C++ file while at the same time define an IF expansion for the Pascal files. 138) Added: Added the following functions to the keymap function list: BackspaceEx - Backspace at the start of line moves to the end previous line doing a join at the same time. MoveLineLeftEx - Move the cursor left but move up a line up and to the end of the line when the cursor hits the start of line. MoveLineRightEx - Move the cursor right but move up a line down and to the start of the line when the cursor hits the end of line. 139) Added: A read only check box was added to the File Open dialog. This allows a file to be opened for read only viewing. 140) Fixed: The compiler dialog was not disabling the command line input when the "use other file" radio button was was selected. This edit field has no meaning in this mode and so should be disabled. 141) Added: The Alt+Z DosShell command now starts the new session in the same directory as the current file. If there is no current file it starts the session in the current directory. 142) Added: The Project, Compiler and Tools now support the piping of standard error through the use of the zStderr.exe utility. This feature is easily accessed using the configuration now in the Project, Compiler and Tools dialogs. 143) Added: You can get Zeus to trim the last blank line off the file using the following INI file option: [Editor Options] FileTrim=1 144) Added: Added the following functions to the keymap function list: FileTouch - Touch's the time stamp of the current file. 145) Fixed: The compiler, tool, project spawning was not working in Windows NT due to a defective Win32 API (GetProcessExitCode). This has been fixed by using a workaround solution and no longer using this broken API. 146) Added: The file tag information has been improved for the message windows. These tags will now return meaningful information for nearly all the tags, with some returning information specific to the item selected. 147) Added: The automatic loading of files from the output windows has been enhanced to support the parent and current directory indicators (ie '..\' and '.\'). 148) Added: The following options where added to the INI file. These help fine tune the error parsing process. [RegularExpress] Lines Errors Functions 149) Fixed: The Zeus painting would not work correctly for some fonts including the Borland TE font. The symptoms where unpainted lines between the lines. 150) Fixed: The CUA marking was not quite CUA. It has now been fixed and in the process a CUA marking bug related to the do/undo actions was also fixed. 151) Fixed: The smart indent was inserting tab characters even though the insert tabs option was disabled. It now adds tabs or spaces based on the editor tab setting option. 152) Added: A spell checking feature has been added to Zeus. This is just a basic spelling engine that supports an English/American dictionary. Dictionaries for other languages should be possible but at the moment only an English dictionary is provided. Others may be added depending on the demand. 153) Fixed: The macro recording was not recording any of the actions located on the popup menu. This has now been fixed. 154) Fixed: The new functions MoveLineLeftEx and MoveLineRightEx where fixed to also support CUA marking if bound to the appropriate Shift key stroke (ie shift left or right cursor). 155) Added: The compiler and project command lines now also support the same $TAG values that are used by the tools and DOS command line. 156) Added: The following new functions where added: MoveWordNextEx Move to the next word and continue onto the next line if you reach the end of the current line. MoveWordPreviousEx Move to the previous word and continue onto the previous line if you reach the beginning of the current line. ClipboardPasteAndMark Paste the contents of the clipboard and highlight the text that gets added by marking it. 157) Added: The 'Save document before running' option was added to the tool configuration dialog. This will force the currently active document to be save before the tool is actually run. 158) Added: A stamp function can be thought of as a function that adds some type of text information to the currently active document. The following stamp functions have been added: StampDay - numerical day value StampMonth - numerical month value StampYear - numerical year value StampDateTime - full date/time stamp StampTime - time stamp StampFileName - name of current file StampFileSize - size of current file StampFileDateTime - date/time stamp when file was last modified 159) Added: The keyboard function FileSaveAllNamed was added. This save all documents that have been named (ie will not prompt for untitled.txt files). 160) Fixed The project make would not save all the buffers before running the make. This problem has now been fixed. 161) Added A new C like Zeus macro script language was added to both the editor and in the form of the stand alone ZMI.EXE command macro interpreter. The command line interpreter provides as a powerful alternative to the MS-DOS batch processing system. 162) Added The keyboard function ExecuteScript was added and the matching menu entry was added to the macro menu. This function presents the user with the execute script dialog which allows the user to run script file written using the Zeus macro script language. 163) Added A copy button was added to the Extensions dialog. This allows you to create a new file extension by copying the details from an existing file extension. 164) Fixed The long file name support in the Win32 version of Zeus had a few bugs. This version should fix a lot of these problems. 165) Added The FileListAssociates function was added and also added to the veiw menu. This function will list all files with a similar base file name, allowing you to quickly locate and load related files. 166) Fixed There have also be numerous smaller bug that have been fixed. Zeus Version 2.50 Windows 3.x, Windows 95 and Windows NT Release ---------------------------------------------------------------- Zeus Lite Version 2.50 Windows 3.x, Windows 95 and Windows NT Release --------------------------------------------------------------------- Initial release of the Zeus Lite for Windows, Win32 (January 1997) NOTE: The Zeus Lite editor is just a cut down version of the Zeus editor but still shares a common code base with it's older brother.