The EHP editor is an editor written on a HP UNIX workstation. It has been ported to OS/2 2.x and higher and this is release 1.4c. The version (except the regular expression pattern matching module) should also be compilable with DOS. You will find the executables including online documentation in OS/2 .INF format and the DLLs needed (EMX stuff) in the file ehp14aexe.zip, whereas the source code is delivered in the file ehp14asrc.zip Since the release of 1.4a, EHP is shareware. You may freely copy and distribute it, but using it longer than a test period of 4 weeks is illegal without registering EHP. To register, send $10 or DM 10,- (Note: You are better off sending DM :) and your EMail address to Axel Uhl Weinbrennerstraáe 108 76185 Karlsruhe Germany The registration allows you to use all further releases of EHP unlimited and will place you in the lucky position of receiving the latest updates of EHP directly UUENCODED by EMail (please write, if you don't want the latter, e.g. due to EMail cost). Note, that a small part (namely the regular expression module) is taken from the FSF. So regard their copyleft when redistributing EHP. If you also get the source code, the package can be compiled using EMX GCC 0.8e or higher. Install procedure: Unpack the file using unzip utility. Copy the .exe files and the tasten.inf file to a directory of your choice (best one contained in your PATH) and set the environment variable EHPINIT to something like set EHPINIT=autoind keys xxx\tasten.inf where xxx represents the path where you put the tasten.inf file. If you don't have installed emx, you have to copy the .DLL-files to a directory contained in your LIBPATH statement, e.g. to \OS2\DLL. Copy the online documentation file ehp.inf to a directory contained in your BOOKSHELF environment variable. Changes of release 1.4c compared with release 1.4b: --------------------------------------------------- - A bug with join and paragraph reflowing has been fixed. When the line after the current line started with exactly one blank followed by a non-blank character, then join deleted one word after joining the lines. - Colors are adjustable via the environment variable EHPINIT. E.g. you may set EHPINIT=clr_text 240 clr_frame 2 which will display the text black on white with a red frame. See the online documentation for details. - Some bugs in memory allocation have been found and fixed, that could have caused errors in the mamory layout and may have been the reason for some spontaneous crashs of EHP. Changes of release 1.4b compared with release 1.4a: --------------------------------------------------- - Deleting a block now keeps it in an internal buffer associated with the window the block was deleted from. This buffer is irreversibly deleted, if new block boundaries are defined. Furthermore, this buffer is not stored in the config.ehp file. Thus, quitting and restarting EHP also kills these buffer contents. The deleted block can be reinserted by using the block copy command (default key Ctrl-b c). - A 'bug' concerning newlines and spaces at the beginning of lines has been fixed. When a line was splitted at a point, where to the left there were only blanks, then the remaining blank line was not considered empty. This in particular yielded unexpected results with the paragraph reflowing command, which doesn't recognize such a line as a paragraph separator. - Clicking with the mouse on a non-active window does no longer immediately place the cursor at the location pointed to. A second click is now required. - A bug concerning macro expansion has been fixed. When a repeat command was nested in a macro and was the last command of that macro, then the macro instead of the repeat was repeated. - The backup copy is now really a copy and not the renamed old file. This has, especially with OS/2, the advantage, that you now can edit batch files, to which a workplace object is linked. The link will be OK after editing, which was a drawback in the former version, where the workplace object was set to the backup copy and thus could not be executed anymore due to the '.bak'-ending. This advantage is paid by some little extra effort for explicitely copying the file. - Automatic linebreak mode can now be made the default by a new switch 'linebrk' of the EHPINIT environment variable. Changes of release 1.4a compared with release 1.4: -------------------------------------------------- - A minor bug in linebreaking mode has been fixed (the window width was not fulle usable, one character was missing). Changes of release 1.4 compared with release 1.3: ------------------------------------------------- - A bug in deleting a rectangular block has been fixed. The last correction contained a new weird bug. Now it should work. - Trying to match a parenthesis (CTRL-p), to which no matching one exists causes a beep now. - Skipping a word now treats consecutive word separators as one word. Hence word skipping becomes more usable because it's just faster. If skipping right when standing on the last word in a line goes to the end of the line. This word-skipping has also been applied to deleting a word. - When a block was marked with a mouse, and the mouse was moved beyond the last line of the text and back up again, then the last line was multiply drawn. This bug was found and fixed. - When one letter was inserted multiply and fast (e.g. by keyboard repeat or TAB, which inserts multiple spaces), and horizontal scrolling appeared, then the display was corrupted (parts of the current line right to the cursor got shifted too much right). It's fixed. - Highlighting was not removed in replacing, if the confirmation was answered with 'No'. Fixed. - The join command had some bugs. When a sequence of empty lines followed the current line, then the empty lines were all deleted. This has been fixed. Furthermore, when join was issued in an empty line, the cursor appeared in the 2nd column afterwards. This is now corrected, it will be placed in the 1st column as expected. - The confirmation of a yes/no-question with the mouse was removed and is no longer possible. It caused serious problems when the application terminated, which I was not able to resolve. Since at least I didn't use that feature frequently, I decided to renounce it. - Indenting of a block did not mark the text as modified. Fixed. - The keyboard was not correctly initialized, especially for the utility km. Fixed. - The mouse is no longer blocked for the duration of one command after a macro has been executed - EHP has two new features, which are closely related to each other: an automatic line-breaking mode and a command for reflowing a paragraph. Linebreaking is toggled with CTRL-s l, while the current paragraph (terminated by the next empty line) is reflowed by CTRL-D with the initial keyboard binding. See also the online help (EHP.INF) for a more detailed description. - When a shell command was executed in SHELL mode or by passing a block to a filter, then the CTRL-s and CTRL-c commands did not work anymore. This bug has been fixed. Known bugs: ----------- - When a mouse-click is performed while a paragraph reflow is running, the cursor is moved to the clicked-to position and paragraph reflowing continues in this paragraph. Hints: ------ - Look at the calc.zip file on HOBBES. It provides filter function for evaluating expressions. This is useful in connection with filtering of blocks (CTRL-b f). You can so evaluate expressions occurring in a text contained in an EHP window. Things on my TO DO list: ------------------------ - Online help via the OS/2 HELPNDX envorionment variable and the corresponding .NDX-files. The code has already been prepared but has to be interfaced with the block control of EHP. The idea is to mark a word, on which one wants to have help, as a block and then issuing a help command. This browses all available .NDX-files for the word and opens a VIEW session for displaying the help topic. ... lots more, but from who I can steal the time? Please report bugs, hints, statements, comments and other feedback to me via e-Mail to auhl@fzi.de ! I'm lucky to hear about everyone using EHP. Enjoy, Axel (auhl@fzi.de)