----------------------------------------------------------------------------- == 1.20 (r3543) to 1.21 (r3918) -- Status: 2020-03-16 == [[PageOutline]] === Status bar === - Added special color for ''read-only files''. === Installation === - ''Moved EPMBBS files'' to samples package. - ''Renamed package ids''. The installation works with old and new id names. Old id names were changed on the first start now, when the WarpIN database is unlocked. - Use ''rwIni'' functions, if installed and if possible. - Added deletion of ''myepm folder icon EAs'' and avoided its setting. - Fixed update behavior for ''object titles''. === Search dialog === - Enabled ''T'' and ''B'' settings. - Changed the ''font'' of both entry fields to that of the edit window. - If a mark exists in current file, activate ''Marked area'' and ''Start at top''. Made that configurable by Preferences -> Appearance -> Windows and dialogs -> Search dialog. - Improved ''focus'', e.g. when switching EPM windows while the Search dialog is on top. - Many more fixes. === Settings === - Added setting for ''mode-specific'' or general ''tabs and margins''. - ''Replaced all remaining EPM settings'' with NEPMD settings, including configurable cursor and pointer styles. === Cursor highlighting === - Added ''cursor highlighting'' for many cases. === Window and object functions === - Added procs as ''wrappers for C functions''. - ''Replaced REXX commands'' with that. === Popup menu === - Open ''popup menu at the cursor position'' with Alt+Sh+F10. === Environment extension === - Fixed ''BeginLIBPATH ''handling. Now it can be extended by the pseudo env var within a command window. === Config file === - Remove ''multiple spaces'' within the value part, except for color defs. === File === - Path-changing commands now change to the root dir of a drive before changing that drive. That ''keeps the previous dirs on previous drives unlocked'', so that it can be deleted or renamed. Previously the old dir was locked until EPM was closed. === Unwanted scrolling === - Added ''workaround'' for more cases. - Fixed ''small vertical window scrolling'' on position restore. Now the scroll position is saved and restored exactly, including fractions of font heights. === Search === - Fixed ''search direction'' processing. === General === - Fixed handling of ''double quotes'' for defcs and defprocs. - Allow for ''special chars in filenames'' by adding missing enquoting. === !RecompileNew === - Many ''improvements'', with checking for different .E files and faster .E file processing, except for the initial check. - Added new markers: 'I' = informations, '=' = equal .E file. - Now user .E files, marked with '=', can be safely deleted. - At ''first startup'', if user .EX files were found, ask to execute !RecompileNew. - Added line-wise comparison with diff.exe for source files, if a md5 check has found different files. That allows for ignoring ''$Id $'' (RCS keyword) lines, as being used in the source files. === !NepmdInfo === - Added ''version check via version.cfg'' on the netlabs server. - Improved ''processing'', added missing select event. === EAs === - ''Preserve EAs and datetimes'' for Move and Encode. === Open URLS === - Improved ''dialog actions''. - Changed to use a ''temporary WPS object''. This supports long URLs. === !DosUtil === - Added functions for ''datetime difference'' calculation and validation. === Keys === - ''Disabled !RefreshMenu'' in !SwitchKeyset, if not required. That results in a speed improvement on file switching. Unfortunately it's still required for different keysets (e.g. for SHELL files) to keep the mnemonics in the menu right. === Assist === - Made scanning for multi-line comments on cursor movement ''much faster''. A simpler method is used to bypass the MLC array creation. That array is used, if it exists, what is the fastest method. Now ''stuttering cursor scrolling'' shouldn't happen anymore. - !LocateMLC: Replaced previous complex implementation, that already was a binary search, by a clean ''binary search''. This seems to be a bit faster again. - Improvements for ''literals''. - Fixed ''cursor movement'' when repeatfind is used. - Fixed ''length of highlighted string'' for !MatchFindOnMove. === Alt+1 === - Fixed Alt+1 for : . Now linenum is correctly parsed. - Added :<"search word"> or :, with allowing for cursor placement on . === Preferences menu === - Changed ''Configuration presets'' to ''Basic configuration''. - Added sections ''Presets'' and ''Main items''. Added items to it to control main settings more easily and to give visual feedback on switching presets. - Added ''Edit window'' -> ''Click only gives focus'' as replacement for the const. === Menu === - Avoid menu item 'Restore file...' for non-backup .Tree_Dir files. - Disabled common popup menu items for .Tree and .Tree_Dir files. Previously, the Alt+1 menu item appeared twice and !TagScan? didn't make sence for these files. - Fixed disabling for advanced marking menu items. - ''!PopupMenuItemsOutsideMark'': Added diabling of advanced menu items if CUA marking is active. - Fixed ''menu item id exhaustion'' after !RefreshMenu. === Backup === - Improved Backup to ''avoid backup file creation'' when useless. - Added ''Restore'' and ''Compare'' commands. - Added ''Restore'' and ''Compare'' menu item to popup menu for .Tree files. - Added EAs ''EPM.PREVPATH'' and ''EPM.BACKUPDATETIME'' for later file restore and later cleanup of backup directory. - Fixed ''.Tree'' popup menu behavior to take the line under the mouse pointer. - Added ''automatic mode selection'' for backup files on load via EA recognizing. The previous mode is now saved as EA EPM.PREVMODE. - Changed getting ''mode for backup files'' without requiring EPM.PREVMODE EAs. It is now checked if a tilde and a number is appended. - Fixed processing of ''virtual files''. === Move expression === - Extended to ''process mark'' if it exists. - Improved ''string determination''. === Modes === - ''Syntax expansion'': Completely reworked ''C'' mode, many improvements for when coding styles have changed. Added !CFunctionCodeStyle. - ''SCRIPT'': Fixed highlighting definitions. - ''PHP'': Improvements. - ''IPF'': Find headings spanned over multiple lines. - ''PASCAL'': Several improvements. - ''SHELL'', ''.DOS'', ''.Tree'': Made 'Directory of' line editable for DIR commands, like for '.DOS dir' files. - ''SHELL'', ''.DOS'', ''.Tree'': Control the cursor position. - ''SHELL'', ''.DOS'', ''.Tree'': Use SHELL highlighting for .DOS files. - ''All modes'': Replaced LINECOMMENTOVERRIDEMULTI by MULTILINECOMMENTENDPRIO. This is only used for !TeX's pseudo-MLC env \iffalse ... \fi. - ''Tags'': Fixes for ''TeX'' and ''LaTeX'' commands. - ''Assist'': Find more ''TeX'' keywords. - ''TEX'': Added verbatim environment to the multi-line commands. - ''Syntax expansion'': Fixes for ''REXX''. - ''FindDef:'' Added mode REXX. - ''REXX'': Improved bracket matching when pressing !BackSpace repeatedly. - ''REXX'': Added rwIni keywords. === File and Mode settings === - Completely reworked, with calls to ''generic functions''. - Fixes for ''Coding style settings''. - Added ''menu item''. === Format submenu === - Split ''Line breaks'' into ''Line ends'' and ''Line wraps''. - Added menu items for ''DOS and Unix line ends''. === Encoding === - Added new commands. - Completely reworked ''encoding menu items''. That includes a predefined list, similar to the spell-check menu items and many helpful menu items and options. === Mouse === - Improved ''double click'' behavior. === Attributes === - Added workaround to avoid access to the unwanted first ''undo state'' after loading a file with attribute EAs. === Bookmarks === - Added ''compatibility'' for old bookmark commands. That makes the toolbar commands from MAKEACTN.E work again. - Changed ''bookmarks dialog'' to display column instead of index. - Extended ''bookmarks dialog'' to optionally add EPM.POS, undo and stack positions. This behavior can be toggled via dialog button and is saved per window non-permanently. === Spell-check dictionaries === - Catch errors of ''wget'' and ''unzip'' on download. - ''Dialog'' improvements. === Associations === - Added fix for user-defined groups of associations. === Compile === - Removed ''double call of wis\makefile'' in many cases. (There exist still a few.) - Fixed ''backslash handling'' for C-included files by htext files. - Changed ''clean'' makefile target to clean both debug and release, as documented in MAKEFILE.INF. ----------------------------------------------------------------------------- == 1.19 (r3209) to 1.20 (r3543) -- 2019-03-21 == === Installation === - Fixed configuration of NEPMD associations during the installation. Previously, the script worked only after installation. === Sum === - Added menu item to insert the sum of block-marked text. === Center, box and draw === - Added menu items under ''Format''. - Added style configuration dialogs. - For line mode, use ''header width'' value instead of 1599 (MAXMARGIN). - Added configuration of ''header width''. === Reflow margins === - Changed configuration of first margins selection item to use ''header width''. === Key recording === - Allow for edit, save and restore a recorded sequence. - Added menu items for that. - Moved menu items from ''Edit'' to ''Run''. === Spell-check dictionaries === - Uploaded working Netscape dictionary files. - Improved configuration dialogs. - Added ''Download'' button to the ''Edit dictionaries'' dialog. === Alt+1 and URLs === - Improved URL processing. - Many improvements for ''Alt+1'' to process the file spec under the cursor, e.g. added filespec:"search wrds". === Search === - Fixes for handling search options. - Added reset of last saved ''Change'' arguments by executing a different ''Find'' (locate) command. === Startup === - Made initialization more stable. - Improved processing of commands after the first start. === Title bar === - Improved the display of the ''.LONGNAME'' EA. === Dynamic configuration === - Improved processing of environment variables to extend the environment and fixed previous double extension. - ''BEGINLIBPATH'' is used now instead of ''EPMBEGINLIBPATH''. - Environments started with ''EPMMAINT.CMD'' now show the correct paths for the ''loader'' and the ''executable''. === Format === - Copied ''Coding style'' menu items from ''Preferences'' to ''Format'' for easier access. - Extended all remaining commands to process mark only if it exists. === Tags === - Added tags support for modes INI and TEXT. - Fixed tags processing for PHP, IPF. - Allow for tags with multiple words. - IPF: Allow for headers spanned over multiple lines. - Fixed tags processing if egrep meta characters are included. - Added LaTeX and TeX tag keywords for mode TEX. === Modes === - Changes for PERL, JAVASCRIPT, TEXT, CONFIGSYS, C, RC, PASCAL, PYTHON, REXX. - SHELL: Fixed command history for a restored command line file. === Highlighting === - The reload of a keyword file can now be forced by keeping the Ctrl key pressed while executing ''!NepmdActivateHighlight''. That applies also to the highlighting menu items. - Highlighting is now temporarily switched off during mouse marking. This is required as a workaround to allow for catching the end of a line when the file was highlighted. - Added workaround for an EPM bug to replace DELIMI with DELIM if possible to allow for specifying escape chars. === Recompile === - Fixes for ''!RecompileNew''. - Changed inclusion of MYSTUFF.E and handle that file correctly as an option. - Added ''Recompile'' command to process the current file only. === Tabs and spaces === - Many changes and fixes. === Swap text === - Added ''!MoveExpressionLeft'' and ''!MoveExpressionRight''. Menu items can be found under Edit -> Move. === Syntax expansion === - Reworked syntax expansion: Handle tabs correctly, skip expansion in unwanted cases, avoid double ending keywords. - Many fixes. === Assist === - Fixes for nested multi-line comments. === Attributes === - Reworked buggy attributes (e.g. bookmarks) handling for many commands. Attributes are now preserved after processing and move now correctly together with the text. Deleting a line removes also its attributes. === Bookmarks === - Reworked bookmarks processing. - Fixed handling of multiple files with bookmarks in a ring. - Improved ''!ListMark'' dialog. Added filename and the columns !FileId, Idx and Line. - Improved ''!SetMark'' dialog: Pre-filled name entry field with the begin of the current line. - Added commands and key definitions for adding auto-named bookmarks and for going to the next and previous bookmark. - Added type and name configuration dialogs. === Dialogs === - Fixed strings processing for ''!ListBox'' and ''!EntryBox''. === Fill === - Extended ''Fill'' to accept multiple chars, either tiled or left-aligned. === Alt+1 === - Improved file searching for NEPMD files. === Context menu === - Added ''!TagScan'' and ''!OpenUrl'' to the context menu. === Preferences === - Fixed notification within menu items if values are overridden by file, file EA or mode settings. - Added ''Insert marked lines'' (above or below). Previously, ''below'' was internally hard-coded. The new default value is ''above''. - Moved ''stream mode'' and ''Newline'' processing to an extra submenu. - Reworked ''Tab'' and ''!BackTab''. Added much more configuration options. === user.cfg === - Fixed export of a value with leading or trailing spaces. === Undo === - Reworked ''Undo'' processing. - Added configuration for special events. - Fixed ''Undo'' position, avoid scrolling and allow for catching a change without scrolling by changing in the ''Undo'' history back and forth. ----------------------------------------------------------------------------- == 1.18 (r2948) to 1.19 (r3209) -- 2018-10-19 == === Modes === - Improved mode definitions for INI, JAVASCRIPT, TEX, FORTRAN77, FORTRAN90, TEXT. - Added mode PYTHON. - Improved PREFERREDCOMMENT key to handle 'L' or 'S' for single-line and 'M' for multiple line comment. Allow for appending a number, e.g. 'M2', to select a special string, when multiple comment strings are defined. === Menu === - Added ''Preferences'' menu item to the popup menu. - Added menu item ''Mark line set at cursor'' to the ''Mark'' submenu. - Improvements for the ''Format'' submenu. - Added ''Current keyset definitions'' to the ''Help'' submenu - Added ''Highlight cursor'' to the ''Preferences'' menu. - Added ''Import user settings'' to the ''Preferences'' menu. - Added section headings to the ''Preferences'' menu. - Reworked and extended ''Colors and fonts'' in the ''Preferences'' menu. - Added ''!NewLine'' and ''Enter'' configuration to the ''Preferences'' menu. === Keys === - Changed scroll definitions in CUA keys. Added Alt combinations to ''Move cursor'' and to ''Scroll'' for faster movement. - ''!ScrollLock'' interchanges now the definitions for ''Cursor move'' and ''Scroll''. That leads to scroll improvements on systems where AMouse doesn't work, e.g. on VMs. - Made mouse definitions configurable via STDKEYS.E. - Added key category names. - Added dynamic listing of the current key definitions. - Fixed single-key determination for DBCS, untested. === Configuration files === - Fixed determination if an import of DEFAULTS.CFG or USER.CFG is required. - Moved all settings from OBJECTS.CFG and COLORS.CFG to DEFAULTS.CFG. - Changed color numbers to names in configuration files and registry keys. - Added optional deletion of user keys before import of USER.CFG. - Made cache directory for temporary mode files configurable. - Improved and fixed enquoting for .CFG and text .INI files. === Undo === - Added cursor, scroll and mark position restore to ''Undo'' and ''Redo''. === Shell files === - Fixed shell file processing. - Improved outfiltering of initial shell prompt lines (requested by Ben Dragon). === Process marked lines === - Changed processing of file to marked lines, if marked for ''Wrap''. === Syntax expansion === - Improved syntax expansion for C to omit expansion if cursor is left of a keyword or a brace. - Improved syntax expansion for PASCAL, E and REXX. === Assist and !TagScan === - Made ''Assist'' much faster for multi-line comments. - Added fixes for ''Assist''. - Reworked ''!TagScan'' for C, PASCAL, ASSEMBLER, CMD, HTEXT, IPF, JAVASCRIPT, PYTHON, E, REXX, TEX to use ''Assist'' procedures for more accurate results. - Added fix for FORTRAN90. === Library functions of NEPMD.DLL === - Added !NepmdDeleteConfigTree, !NepmdImportUserConfig. - Renamed !NepmdFileDelete to !NepmdDeleteFile. - Added !NepmdDeleteTree, !NepmdSearchTree. === Installation === - Fixed unwanted reset of program object settings on program object creation. - Fixed corruption of NEPMD.INI on installation. === Miscellaneous === - Improved error handling in .ERX files. - Added more fixes for ''Locate'' and ''Change''. - Added fixes for changing the additional keyset. - Added improvement for ''!HookAdd''. - Minimized scrolling for ''!ScrollAfterLocate''. - Avoid unwanted scrolling in more cases. - Fixes and improvements for ''Link'', ''Unlink'' and ''!RecompileNew''. - Fixed and improved ''!FindFileInList'' and ''Alt_1''. -----------------------------------------------------------------------------