Documentation for EPM update and macro support. =============================================== What is EPM? ------------ The EPM editor is actually a simple application built on top of a very powerful editor toolkit. EPM is programmable at a number of levels. The simplest way to configure EPM is from the Options menu; a number of features are pre-configured with support for multiple ways of doing things and to allow the specific method to be chosen dynamically and saved. (E.g., advanced marking mode or the simple CUA-style; Enter keys can be configured any one of 6 ways (in line mode), etc.) The next level is writing Rexx macros. This lets you do some fairly powerful things, but to take complete advantage of the editor, you have to go to a lower level. E macros are compiled into .ex files, which are interpreted at run time. You can control the macros at two levels. One is by creating a MYCNF.E and setting flags in it which controls which of the various features we've already written are included in the .ex files; the second is to actually write your own macros. The configuration flags are described in the User's Guide - enter the command VIEW EPMUSERS to see it. The macro language is defined and described in the EPM Macro Programmer's Technical Reference - enter VIEW EPMTECH to see it. Also, looking through the existing macros is a good way to become familiar with the language - particularly if you have any Rexx experience. EPM can also be controlled via DDE (Dynamic Data Exchange); this is how we interact with the Workframe/2 product. Finally, users can use the E Toolkit to embed one or more E-MLE's (Enhanced Multi-line Edit Controls) within their own application. See the package ETKBBS for sample E Toolkit programs. What is included here? ---------------------- This package consists of eleven sets of files. You have the option of replacing your current Enhanced Editor (EPM 5.50) with EPM 5.51, or adding EPM 5.51 to your system so that you can use either version. If you elect to replace the current EPM, then you can unpack EPMAPPS.ZIP into your \os2\apps directory, and you can erase the ETKE550.DLL and ETKR550.DLL from your \os2\apps\dll directory. If you would rather keep both versions, then you can unpack EPMAPPS.ZIP into a new directory and either run EPM 5.51 from there, or ensure that your EPMPATH and PATH include that directory before \os2\apps when running EPM 5.51. The contents of the files in this package are as follows. You do not need to download or unpack all of them. EPMAPP.ZIP - Unpack into \os2\apps, or as described above EPM.EXE - The 5.51 version of the editor ETPM.EXE - The 5.51 version of the macro compiler PMMORE.EXE - Useful for debugging Rexx macros; entering RXSHELL from EPM will start PMMORE and redirect STDOUT to this window. SAY and TRACE output will be displayed there. *.EX - the 5.51 version of the compiled macros EPMHELP.QHL - the updated "quick help" file EPMTECH.NDX - An index file for getting macro programmer help. EPMBK.ZIP - Unpack into a directory in your BOOKSHELF setting EPMUSERS.INF - The EPM User's Guide EPMTECH.INF - The EPM Macro Programmer's Technical Reference EPMDLL.ZIP - Unpack into \os2\apps\dll or a directory in your LIBPATH ETK*551.DLL - The E Toolkit DLLs. EPMMAC.ZIP - Unpack into an E_MACROS directory and add to your EPMPATH. - This contains the macros used to build the standard .ex files. EPMHLP.ZIP - Updated EPM.HLP; unpack into \os2\help EPMSMP.ZIP - Unpack into a sampmacs directory and add to your EPMPATH. *.e - Sample E macro code; includes both useful programs and building blocks that you can use in writing your own code. EBOOKE.ZIP - Unpack into an EBOOKIE directory. EBookie is an EPM add-on that makes it much easier to create tagged source files. Support is included for Bookmaster, Starter Set GML, and IPF files (used to create OS/2 Help and View files). LAMPDQ.ZIP - Unpack; contains a file to be uploaded to the host. LAMPDQ lets you enter commands in EPM that will be executed on your (logged on) VM host session and see the results in EPM. Requires Communications Manager. EPMREX.ZIP - Unpack into a directory in your path. *.erx - contains some sample EPM / Rexx macros. EPMASI.ZIP - Unpack into a myassist directory and add to your EPMPATH. An alternative approach to syntax-assisted editing; makes it easy to add your own expansions. Includes sample files for OS/2 and PM APIs, C, and Bookmaster. EPMATR.ZIP - Unpack into an epmattr directory and add to your EPMPATH. Sample code for doing things with EPM's attribute support. The minimum you need in order to get EPM 5.51 is EPMAPPS and EPMDLL; add EPMHELP for the new help file. If you want to recompile the macros, you'll need E_MACROS, and probably EPMBOOK for the documentation. If you want to write your own macros, or if you just want to try some of the samples, get a copy of SAMPMACS. EBOOKIE and LAMPDQ are only for those who require their somewhat specialized functions. There are READ.ME files included in EPMMAC, EPMSMP, EBOOKE and LAMPDQ. What about support? ------------------- All the sample code is provided "as-is", with no warranty of any kind. It was written by a number of different people, and some of the code is more polished than other pieces. The EPM authors monitor the E-EDITOR CFORUM on the IBM OS/2 BBS's, and the Internet news group comp.os.os2.programmer. We will try to answer questions asked in either place. We do plan on monitoring Compuserve in the future. (signed) The OS/2 Applications and Tools Group IBM Thomas J. Watson Research Center Updates ======= 1992/09/23 EPMBBS.TXT - Mention the 4 included READ.ME files EPMMAC.ZIP - Don't allow SAVEAS if a file is locked. EPMBK.ZIP - Added description of all configuration constants. LAMPDQ.ZIP - Updated old syntax. 1992/10/16 EPMAPP.ZIP, EPMDLL.ZIP - Various fixes, including: - Top of file markers were invisible in DBCS countries if DB code page was in use. - Problems with long lists of files from the file dialog. - Dropping filespecs containing spaces on the EPM icon. EPMMAC.ZIP - Fixes and enhancements, including: - DRAG_ALWAYS_MARKS constant - BACKUP_PATH supports '=' to back up to same directory as source file - Error checking for BACKUP_PATH if HOST_SUPPORT = 'EMUL' EPMBK.ZIP - Various updates. EPMSMP.ZIP - DOSCALLS and EA updated; new SAVEALL.E. LAMPDQ.ZIP - Use HOSTCOPYDRIVE instead of Hostdrive. 1993/03/29 EPMDLL.ZIP, EPMAPP.ZIP, EPMBK.ZIP, EPMHLP.ZIP, EPMMAC.ZIP - Various updates. Biggest change is new print support. Also a number of new configuration constants. EPMSMP.ZIP - New EPMPRT.E to add a Printer Codes menu, and additions to DOSCALLS.E. EPMASI.ZIP, EPMATR.ZIP - New additions to package; see descriptions above. 1993/07/19 EPMDLL.ZIP, EPMAPP.ZIP, EPMBK.ZIP, EPMHLP.ZIP, EPMMAC.ZIP - Various updates. Includes fix for trap when pasting tabs, and for "Raw ASCII Dump" print of marked area printing entire file. 1993/08/05 EPMDLL.ZIP, EPMAPP.ZIP, EPMMAC.ZIP - Ensure we get a pure pallette, so circles aren't fuzzy. - Added a workaround for when OS/2 2.1 leaves the EPM.INI file read-only. - Various other small fixes.