home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / epmapp.zip / README.EPM < prev    next >
Text File  |  1996-05-21  |  19KB  |  361 lines

  1. (Change history is at the bottom.)
  2.  
  3. EPM 6.00 is the first 32-bit version of the EPM editor.
  4.  
  5. This version of EPM includes support for lines longer than 255
  6. characters.  Lines up to 1600 characters are directly supported.
  7. Lines longer than that will be displayed as multiple lines, but
  8. will be put back together when saving the file.  Note that there
  9. are a maximum of 15,000 pixels per line that can be handled.  Any
  10. lines that require more pixels to display will not be able to be
  11. scrolled to the end.  Macro programmers:  Internal strings can also
  12. be up to 1600 characters long.  There is a pre-defined constant set
  13. by ETPM, MAXCOL, that can be used to determine the longest possible
  14. string.  It can be determined dynamically by entering the command:
  15.   ma 1 99999 1
  16. and then querying the margins.  The right margin will be set to 1 less
  17. than MAXCOL.
  18.  
  19.      EPM Workplace Shell Object support
  20.  
  21. Note:  This is necessary only if you wish to use the WPS Edit Object.
  22. You need not do this if you prefer to start EPM from the command line
  23. or from a WPS program reference.  In fact, it is recommended that you
  24. do not use the WPS Edit Object, unless you have a need to have multiple
  25. associations set to Edit Objects with distinct configurations.
  26.  
  27. To install the EPM Workplace Shell Object:
  28.  
  29. 1. Put EPM.EXE and ALL *.EX FILES in a directory on your PATH.
  30.    Make sure that latest version is first on your path if you have
  31.    another version of EPM on your system.
  32. 2. Put all DLLS in a directory on your LIBPATH.
  33.    Make sure these are also the first EPM DLLs on your LIBPATH.
  34. 3. Run EPMINST.  This replaces the following:
  35.      Execute the following command using REGCLASS.EXE, and substituting the
  36.      correct path to EPM.DLL:
  37.      REGCLASS reg    Epm d:\dll\epm.dll
  38.      REGCLASS create Epm <desktop object name>
  39.         e.g.,  REGCLASS create Epm "EPM Object"
  40.  
  41. To uninstall the EPM WPS Object
  42. 1. delete all EPM WPS objects
  43. 2. Run EPMINST.  This replaces the following:
  44.      execute:
  45.       REGCLASS dereg Epm
  46.  
  47. You must uninstall the EPM WPS Object in order to replace either of
  48. EPM.DLL or ETKR6nn.DLL.
  49.  
  50. Note:
  51.   Multiple EPM WPS Objects can be created, each with their own configurations.
  52.   Edit windows started from a WPS Object use the settings of that object.
  53.   Changes made to the settings of that object will be reflected in all edit
  54.   windows that were opened from that object.  Instances of EPM started from
  55.   the OS/2 command-line or from a standard program object will use the
  56.   configuration saved in the EPM.INI, not the configuration saved by any of
  57.   WPS Objects.
  58.  
  59. Note for Warp2 beta users:
  60.   Under the Warp2 Beta, the Workplace Shell locks the DLLs even after they
  61.   are deregistered.  Therefore, it is recommended that you place the EPM DLLs
  62.   in a separate directory in your LIBPATH.  When you need to upgrade to a new
  63.   version, after uninstalling the EPM WPS Object (as described above), edit
  64.   your config.sys and remove the EPM directory from your LIBPATH, then reboot.
  65.   You will now be able to replace the EPM DLLs.  (Then, update your CONFIG.SYS
  66.   and reboot again.  Or, avoid the extra reboot by swapping between an
  67.   EPMDLL1 and EPMDLL2 directory.)
  68.  
  69.         EPM Keyword Highlighting support
  70.  
  71. Keyword files are included for C, E, HTML, IPF, Java, Perl, Rexx, RC files,
  72. TeX, LaTeX, and Script.
  73.  
  74. To turn on keyword highlighting for a C file, enter the command:
  75.    toggle_parse 1 epmkwds.c
  76. For the other file types, substitute epmkwds.e, epmkwds.cmd, epmkwds.rc,
  77. epmkwds.tex or epmkwds.scr, as appropriate.  In addition, there is
  78. a KwdHilit entry on the toolbar buffet which you can drag to the copy of
  79. your toolbar in the buffet dialog to make it easier to toggle keyword
  80. highlighting on and off.
  81.  
  82. You can edit the epmkwds files to add and delete strings and to change
  83. the highlighting.  The distributed files were created for people using
  84. black on white text colors, and may look strange with a different
  85. scheme.  EPMWKDS.C contains the current documentation.
  86.  
  87. If you like this, and want it turned on automatically, you can add to
  88. your MYCNF.E any of the following, and then recompile the macros.
  89.  
  90. const
  91.    C_KEYWORD_HIGHLIGHTING = 1
  92.    E_KEYWORD_HIGHLIGHTING = 1
  93.    REXX_KEYWORD_HIGHLIGHTING = 1
  94.    RC_KEYWORD_HIGHLIGHTING = 1
  95.    SCRIPT_KEYWORD_HIGHLIGHTING = 1
  96.  
  97. As the comments in EPMKWDS.C indicate, the file is huge because the
  98. entire OS/2 2.1 toolkit is included.  Removing parts you don't need
  99. highlighted will speed up performance.
  100.  
  101.            Programmer's Toolbar
  102.  
  103. A sample toolbar for programmers is included as PRGRMRS.BAR.  It can
  104. be loaded by bringing up the Settings dialog, going to the Toolbar
  105. page, selecting Import, and entering the name of the toolbar.  This
  106. toolbar contains 3 sections.  The first section contains a few items
  107. from the standard toolbar, and a new button for toggling keyword
  108. highlighting on or off.  Keyword highlighting is available for the
  109. programming and markup languages described above.
  110.  
  111. The second section contains buttons for running a make in a an EPM shell
  112. window.  In order to use it, you must edit the Build item and add the
  113. required parameters:
  114.   a key name for the project,
  115.   a path in which to start the build,
  116.   a command to start the build.
  117.  
  118. The "key name" is required in order to allow you to add a number of
  119. Build buttons, each for a different project, and be able to share
  120. the other buttons in this group with all the Build buttons.  An
  121. example might be if you wanted to build the "Hello World" sample
  122. program from IBM's Cset++ compiler, and decided to use a key name
  123. of Hello.  The parameters for Build would be:
  124.   hello  h:\ibmcpp\samples\compiler\sample02  nmake all -f make02d
  125.  
  126. After running a Build, in the unlikely event that you had any errors,
  127. you can place the cursor on a warning or error line in the output and
  128. press the View button.  This will parse the errors, load the source file,
  129. insert bookmarks for each error, and go to the line containing the error
  130. over which you were positioned.
  131.  
  132. The CurrErr button will redisplay the error message associated with the
  133. current line.  The NextErr and PrevErr buttons will go to the point of
  134. the next and previous error, and display the associated error message.
  135.  
  136. The next group of buttons is related to the use of Tags files, and
  137. reproduces the selections available on the Tags pull-right of the Search
  138. menu.  See the online help for those menu items for more details.
  139.  
  140.            Tiny Toolbar
  141.  
  142. For those who like the toolbar but begrudge the amount of screen space taken
  143. up, we've included TinyTool.Bar.  This can be loaded as described for the
  144. programmer's toolbar in the previous section.  Thanks to Toby Thurston, who
  145. provided the bitmaps and the layout for the toolbar in his TT.BAR package,
  146. and gave us permission to include them in EPM.
  147.  
  148.      Configuration
  149.  
  150. There's a new Settings dialog, which includes some stuff that was previously
  151. on the Options menu, and other stuff which is new.  Take a look at all the
  152. pages.
  153.  
  154.      New Menu
  155.  
  156. There's also a new menu layout.  Please try it for a while; if you decide you
  157. prefer the old one, just recompile the macros.  The shipped .ex files used
  158. OS2TOOLS.SMP as a MYCNF.E; the line:
  159.    STD_MENU_NAME = 'fevshmnu.e'
  160. is the one that caused this new menu style to be used.
  161.  
  162.      Toolbar  Note
  163.  
  164. The format of the toolbar has changed internally; saved toolbars now include
  165. a header which includes a version number.  To maintain upwards compatability,
  166. if there is no header, the old format will be assumed.  You should convert all
  167. your custom toolbars to the new format.  A future release will drop support for
  168. the old format.  [This has since transpired; the following paragraph no longer
  169. applies.]
  170.  
  171. To convert a toolbar listed in the Toolbars page of the Settings notebook,
  172. select it, make it current, close the dialog, then select Save As from the
  173. Toolbar's context menu.  To convert a toolbar that exists only on disk, first
  174. import it from the Toolbars page of the Settings notebook, convert it as
  175. described above, then export it from the Toolbars page.
  176.  
  177.      Change History
  178.  
  179. 1994/11/07  This release fixes the slow startup when the toolbar is on, and
  180.             a few DBCS problems.
  181. 1994/11/22  Various bug fixes, optimizations, and a new toolbar DLL.  Also,
  182.             a version built with all compiler optimizations enabled is included.
  183.             Use with caution!  Traps or errors in saved files are possible due
  184.             to optimizer bugs.  After a few hours use, it seems stable, but use
  185.             at your own risk.
  186.  
  187. 1994/12/13  Various bug fixes & optimizations.
  188.  
  189.      New built-in functions:  filecompare, validatefileid
  190.  
  191.      New built-in operators:  bitand, bitor, bitxor, bitcomp.  Like the math
  192.      operators, these will be evaluated at compile time if both operands are
  193.      known, for no run-time overhead.
  194.  
  195.      New search / change option, W, for word searches.  Search dialog updated
  196.      to add EGREP and Word options.
  197.  
  198.      New EPMCOMP macro: like E3COMP, but uses filecompare() for incredible speedup.
  199.  
  200.      Compiler optimizations used - no more separate EPM6OPT.FLS.
  201.  
  202.      CKEYS, EKEYS, PKEYS, REXXKEYS, STDCTRL.E, GET.E, CLIPBRD.E, STDCMDS.E:
  203.         updated to use the bit... operators instead of more complicated code.
  204.  
  205.      Tags dialog now has a Refresh button.
  206.  
  207.      The Shell window now keeps track of the last command entered.  If Enter is
  208.      pressed next to a command prompt without a command having been typed, the
  209.      "Write to shell" entrybox will be presented, pre-filled with the last command
  210.      written.  A List... button is available that will present a listbox containing
  211.      all commands written to that shell.
  212.  
  213.      Dynamic spell-checking will now do a WinAlarm rather than a DosBeep on a
  214.      misspelled word, so that users with Multimedia Extensions can get their
  215.      preferred chirps (and hearing-impaired users can have the screen flash, etc.).
  216.  
  217.      EntryBox can now be passed ES_ flags - most useful for specifying ES_UNREADABLE
  218.      for entering a password.  See example in STDCTRL.E.
  219.  
  220.      New INCLUDE_STANDARD_CONTEXT_MENU config constant for those who want to omit the
  221.      standard context menu definitions.
  222.  
  223. 1994/12/21  Various internal speedups.  Bug in pos() fixed.  Tags file name dialog's
  224.      entry field expanded.  Settings dialog has a "Dropping file" entry on the
  225.      Window page, which lets you specify if a text file dropped in the edit window
  226.      should be edited or imported into the current file.  (A file dropped on the
  227.      title bar will always be edited, and text dropped anywhere will always be
  228.      imported.)
  229.  
  230. 1995/01/06  File loading speedup.  Word tab in entry fields.  Listbox() fixed to allow
  231.      other than the first line to be initially selected.  Clicking both mouse buttons
  232.      activates the List ring dialog (if more than one file is loaded).  If the Shell
  233.      command is given a parameter, it will write it to the newly-created shell window.
  234.  
  235. 1995/01/12  Tabs support changed to not expand a single tab stop when entered.
  236.      This does away with the limit of 20 tab stops when you want them to be
  237.      evenly spaced.  New do_array subop that acts like 3, but doesn't give an
  238.      error message if the index is not found.  Instead, it returns the value of
  239.      the array's .userstring.  See the updated EPMTECH.INF for an example of its
  240.      usefulness.  Added the /k option for the Change command, to match the case of
  241.      the replacement string to that of the search string.  See the online help for
  242.      details.  Fixed so quitting last edit window returns to window from which we
  243.      were started.  Drag no longer grabs focus.  Dragging text within an edit window
  244.      to move it now does a real move, rather than a copy & delete.  (The latter gave
  245.      incorrect results when moving text to the right.)  Added the following to EGREP:
  246.         \c - positions the cursor after a match.
  247.         :i - matches an integer
  248.         :h - matches a hex number
  249.         :q - matches a quoted string
  250.         :r - matches a Rexx variable
  251.         @  - minimally-matching equivalent of *
  252.         #  - minimally-matching equivalent of +
  253.         ~  - negation; fails if the following string or expression is found.
  254.       See the online help for details.
  255.  
  256.       Updated Tags support to handle Rexx and Modula programs.  Added Alt+F12
  257.       as "Next View" key.  Added a '~' option to the Locate command, to find a
  258.       line *not* containing a given string.
  259.  
  260. 1995/03/02  Hopefully, all WPS edit object bugs fixed.  Also, "Default View"
  261.       selection added to Window / Start Options configuration page.
  262.  
  263. 1995/03/03  Bug in SetProfile() fixed.  Selecting Add in WPS Edit Object's
  264.       config now parses off the first directory in the EPMPATH properly.
  265.  
  266. 1995/03/06  WPS edit objects opened via associations now use the right
  267.       config.  EPM can be started from a DOS session.  Tiny icons added
  268.       as built-ins.
  269.  
  270. 1995/03/16  Status and message lines have a 3-D frame.  New Edit /K sub-options:
  271.       /K and /K1 lock against others writing file; /K2 will lock against others
  272.       reading *or* writing, and /K0 will not open the file if someone else has
  273.       it locked against writing.  Peek32 & poke32 changed to take an offset
  274.       field.  Added an opcode to do a binary search of a file.  Enhanced the
  275.       Search dialog.  Don't move the cursor if a click gives focus to the edit
  276.       window (see the CLICK_ONLY_GIVES_FOCUS configuration constant).  Enhanced
  277.       the DYNASPELL_BEEP setting so that you can tell it to just beep instead of
  278.       issuing a WinAlarm.  Proofword fix so won't skip the word immediately
  279.       following a GML tag.  Edit Object can restore the built-in toolbar.
  280.       WANT_TINY_ICONS config. constant to make the built-in toolbar use the
  281.       tiny icons.  Added shl and shr opcodes, which work like C's << and >>.
  282.       Edit window takes focus if a file is dropped on it.  Added Edit /R
  283.       option to load a single file in read-only mode, and a readonly command
  284.       which acts like the browse command, but only for the current file.
  285.  
  286. 1995/10/01  If a file is edited in read-only mode, "Read-only" will display on
  287.       the status line.  An 'R' may be appended to any of the /K options to
  288.       indicate that if the lock fails, another attempt should be made to open
  289.       the file, without locking, but in read-only mode.  A new Edit /R
  290.       sub-option:  /R? means that the file should be set read-only if the
  291.       read-only, hidden, or system flags are set on disk.  /RO is a synonym
  292.       for /R; this can be used from the OS/2 command line to distinguish the
  293.       Edit command's read-only option from the EPM.EXE load-in-same-ring
  294.       option.  There's a new .fileinfo field which contains a copy of the
  295.       FILESTATUS4 structure returned from the DosQueryFileInfo call.  (See
  296.       the OS/2 toolkit for details of this structure.)  This can be used,
  297.       among other things, to determine if the copy of the file on disk has
  298.       been updated since the file was loaded.  QPRINT command enhanced to
  299.       allow passing a queue name, and to allow telling the dialog to start
  300.       printing immediately rather than waiting for the user to press Print.
  301.       Syntax assist for Java added, and keyword highlighting for Java, Perl
  302.       and HTML added.
  303.  
  304. 1995/10/11  Fixed bug causing shell window to trap in previous release.
  305.  
  306. 1995/10/18  Fixed "Tab key inserts tab character" in Settings dialog not
  307.       getting checked.
  308.  
  309. 1995/11/26  Fixed Proof to accept something like {\bf in a .TeX file.
  310.  
  311. 1996/01/25  Added accelerators for SwapPos, PushMark, PopMark, and SwapMark.
  312.       Note that the mnemonic I chose for swapping is '=', and the xxxMark
  313.       operations have the same accelerators as the xxxPos ones, except that
  314.       the Shift key was added, so the accelerator for SwapMark, although
  315.       listed on the menu as Ctrl+Sh+'=', actually had to be defined as
  316.       Ctrl+Sh+'+' because the shift '+' is the shifted character on the
  317.       '=' key, on the U.S. keyboard.  I also defined Ctrl+Sh+'=', so if the
  318.       '=' key is in a shifted position on some other keyboards, this will
  319.       continue to work.  If it's unshifted, but with a different character
  320.       in the Shift position, this will fail.
  321.  
  322. 1996/01/26  Fixed Rexx support so that strings containing nulls can be
  323.       returned.  Noticed this when testing 'extract /fileinfo', but the
  324.       same problem existed if the text of the file contained nulls and
  325.       the user did 'extract /getline'.
  326.  
  327. 1996/02/01  Added bitmaps for LoadGroup & SaveGroup, based on ones created
  328.       by Ken Arway.  Also reused tagsfn.bmp for the tags dialog button in
  329.       the Toolbar Buffet.  This is because a user pointed out it wasn't
  330.       possible to drag items from the buffet which didn't have bitmaps.
  331.  
  332. 1996/03/02  Fixed drag&drop so a drop onto a minimized edit window would
  333.       restore the window, and otherwise be treated like a drop on the title
  334.       bar, not like a drop on the edit client.  Enhanced drag&drop so if
  335.       a command DRGDRPTYP_drop_type exists for a drop of an object with type
  336.       "Drop Type", that command will be executed.  That check is done before
  337.       the check does a command DRAGDROP_ext for a file named filename.ext.
  338.  
  339. 1996/04/01  Increased number of highlighted objects per line from 20 to 50,
  340.       for keyword highlighting.  Added ability to specify a space as the
  341.       end string for a keyword highlighting delimiter.  (Specify "<space>",
  342.       without the quotes.)  Added a /NU option to the Edit command, to allow
  343.       editing a file without the overhead of supporting undo.  Increased
  344.       version to 6.03b, so macros can distinguish if this ability is present.
  345.       Fixed bug in dynamic spell-checking where pressing the space bar while
  346.       in insert mode would check the word *before* the space was inserted if
  347.       the space was intended to break apart 2 words.  Enhanced mouse support
  348.       so clipboard can be used more easily while "mousing" - Ctrl+MB1 in
  349.       a marked area will copy the mark to the clipboard; Ctrl+Shift+MB1 will
  350.       perform a Cut operation; Alt+MB1 will perform a default paste (like
  351.       a character mark unless DEFAULT_PASTE is set otherwise in MYCNF.E);
  352.       Alt+Shift+MB1 will perform an alternate paste (like a character mark
  353.       if DEFAULT_PASTE is set to Paste Lines, or like a line mark otherwise).
  354.  
  355. 1996/04/10  Updated keyword highlighting so it would look for the longest
  356.       matching substring when finding Special's.  Added keyword highlighting
  357.       support for Makefiles (kindly contributed by Michael Cadek).
  358.  
  359. 1996/04/30  Enhanced GROUPS.E so loadgroup could offer a list of saved groups,
  360.       and let one delete a saved group.
  361.