home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 5 Edit
/
05-Edit.zip
/
epm603a.zip
/
EPMMAC.ZIP
/
READ.ME
< prev
next >
Wrap
Text File
|
1995-11-10
|
22KB
|
480 lines
There are three sample configuration files included in this directory.
MYCNF.SMP is a simple example MYCNF.E. EPMGCNF.SMP is the configuration
file used to build the .ex files shipped with the OS/2 2.x Enhanced Editor.
OS2TOOLS.CFG is the MYCNF.E used to build the .ex files included with the
EPM package as shipped internally to IBM, and used by EPM 6 (EPMBETA).
Note that in order to be as general as possible, many features are made
switchable at runtime in the shipped .ex files so that users who don't
want to recompile the macros needn't. If you *do* recompile, then
the switchability will be lost unless you explicitly enable it. For
example, line vs. stream mode: people used to line based editors will
prefer line mode; people used to word processors will prefer stream mode,
and few people will want to dynamically change between the two paradigms.
So it makes more sense to configure it the way you prefer, and not waste
the overhead of run-time checks and extra code.
Also note that 5.51 users should recompile both EPM and EXTRA when changing
any configuration constants related to the menu choices, as the menus are
contained in EXTRA.EX but the commands used are (mostly) defined in
EPM.EX, so if the two files are not in synch, you might get "Unknown command".
EPM 6 users should note have EXTRA_EX set in their MYCNF.E, since EPM 6 no
longer has a 64k limit on *.ex files, so there's no need to split the code.
A description of each file in E_MACROS is appended at the end of this file.
Answers to some common questions:
:QUESTION.
While trying to recompile the macros, I got the error message:
EX code size too large
:ANSWER.
The current set of macros won't fit into a single .ex file, which is
limited to 64k of code in EPM 5.51. We've split EPM.EX into EPM.EX
and EXTRA.EX. If you add to your MYCNF.E
const
EXTRA_EX = 1
and recompile both EPM.E and EXTRA.E, then EXTRA.EX will automatically
be linked in at run time. (EXTRA.E includes a MYEXTRA.E if it exists,
so if space is still tight you can move any DEFCs or DEFPROCs from
MYSTUFF.E to MYEXTRA.E. DEFLOADs, DEFSELECTs, DEFMODIFYs and key
definitions should stay where they are.)
:QUESTION.
I am writing some C source code in the EPM editor and am
getting a bit tired of erasing EPM's C add-ons. How can I
turn this off?
:ANSWER.
You can turn it on and off dynamically by entering the command
EXPAND OFF
on the EPM command line. If you're using EPM (or the Enhanced Editor)
as shipped, and don't want to recompile the macros, you can make this
the default by doing the following:
1. Create a PROFILE.ERX in your EPMPATH (or PATH) containing:
/* EPM profile */
'expand off'
2. On the EPM command line, enter: PROFILE ON
3. Select Options / Save Options.
For the current EPM version 6.xx, replace steps 2 and 3 with:
Bring up EPM's Settings dialog, select the Misc. page, select
Rexx Profile so that it's checked, and close the Settings dialog.
If you're compiling the macros, then you can make the syntax expansion
start out turned off by adding to your MYCNF.E:
const
my_EXPAND_ON = 0 -- Start out off; default is on.
or you can omit the support for any language completely by including
one of:
const
C_SYNTAX_ASSIST = 0 -- Default for C is 1
E_SYNTAX_ASSIST = 0 -- Default for E is 1
P_SYNTAX_ASSIST = 0 -- Default for Pascal is 1
REXX_SYNTAX_ASSIST = 0 -- Default for Rexx is 0
or, if you don't have a MYKEYSET.E, you can omit support for all of
them by including:
const
ALTERNATE_KEYSETS = 0 -- Default is 1
Then recompile the macros, as described in the EPM User's Guide
(enter VIEW EPMUSERS to see it).
:QUESTION.
When I try WYSIWYG printing, I get no output or a blank page.
:ANSWER.
Two things to check:
- If you're printing to a LAN printer, your machine and the LAN server
must be using exactly the same printer driver, or things might not
work. (I believe this is documented in the LAN pubs.)
- WYSIWYG stands for "What You See Is What You Get". If you have a
white or light foreground color, it won't show up on the default
background color. Try selecting black on white.
:QUESTION.
Why are buttons greyed in the print dialog?
:ANSWER.
EPM prints to a queue for WYSIWYG printing, and to a device (e.g.,
LPT1) when printing in draft mode. If one of these is not defined
for a printer, then the corresponding button will not be selectable.
:QUESTION.
When I invoke EPM I get an icon in the Window Viewer, but when I
select it nothing happens. Any thoughts?
:ANSWER.
It's the fault of the viewer. They subclass the icon, and don't give
us anything that a "nicely behaved" icon isn't supposed to get.
You can configure the system so that all icons minimize to the desktop,
or you can configure just EPM.
If you open "OS/2 System", then open "System Setup", then open "Settings"
you'll see a Window page that lets you specify whether minimized windows
should appear on the desktop (as they do in OS/2 1.3), or in the
"Minimized Window Viewer", or just be hidden. This sets the default
action for the system. Some objects have a separate setting that can
override the default. If you open the Settings for the real program as
found via the Drives object, you won't see this (no Window page on the
Settings notebook), but if you create a Program object that points to
EPM.EXE you will.
:QUESTION.
How can I edit host files on other than the 'A' session?
:ANSWER.
The default host interface (SAVELOAD.E) only accesses the first host
session. E3EMUL will let you access any host session. Add the
following to MYCNF.E and then recompile:
const
HOST_SUPPORT = 'EMUL'
USING = 'CM' -- (or 'IBM', or whatever. See E3EMUL SCRIPT.)
my_HOSTCOPY = 'AC' -- (for example; the default is ALMCOPY)
USING = 'CM' uses ALMCOPY.EXE (or the value of my_HOSTCOPY) as the file
transfer command; USING = 'IBM' uses SEND/RECEIVE. You must use the
latter for MVS files.
If you don't have room for E3EMUL, you could elect to have it linked in
externally. Add the following line to your MYCNF.E, then recompile
both EPM and E3EMUL:
LINK_HOST_SUPPORT = 1
:QUESTION.
I am unable to edit any files on my H: drive. Why is this?
:ANSWER.
By default, H: is used to refer to the host system. If you do not edit
host files, then add the following to MYCNF.E:
const
HOST_SUPPORT = '' -- Omit host support
If you wish to be able to load and save host files directly from your E
session, then you can change the drive letter used to refer to the host.
If you use the standard SAVELOAD routines, then you can do this by adding
the following to MYCNF.E:
const
HOSTDRIVE = 'V:' -- Use V: to refer to VM files
If you use the enhanced host support of E3EMUL, (HOST_SUPPORT = 'EMUL'
in your MYCNF.E) then you can do this by adding the following to MYCNF.E:
const
my_HOSTDRIVE = 'V' -- Use V: to refer to VM files
Note: For SAVELOAD, you set HOSTDRIVE to 'x:' (it needs the colon); for
E3EMUL you set my_HOSTDRIVE to 'x' (it doesn't take the colon).
If you use E3EMUL, instead of changing the host drive letter, you may
choose to make the host logical terminal ID required, by adding to MYCNF.E:
const
HOST_LT_REQUIRED = 1
This means that H: will refer to the local H drive on the workstation,
and HA:, HB:, etc. will refer to the VM or MVS host.
:QUESTION.
What is OK to place in MYCNF.E?
:ANSWER.
MYCNF.E is a configuration file that is included by many .E files.
Therefore, it should contain *nothing* other than CONST, SET and DEFINE
statements. If you placed executable code in MYCNF.E, at best you
would be wasting space since the code would be duplicated in all your
.ex files; at worst, you'd break various things depending on what code
you included.
:QUESTION.
I got a SYS3175. Can you fix it?
:ANSWER.
In order to track down the problem, we need at a minimum the values of
the CSLIM, CS and IP (or CS:EIP) registers from the Trap display, the
name of the module in error (e.g., ETKE551.DLL), and the date of your
EPM.EXE and ETK*.DLLs. If you have the current version of EPM, the
VersionCheck command will give you the timestamp of when each module
was built. This is best, because there's no chance of error if the
files had the date changed after they left our hands.
If it's repeatable, please give the steps needed to reproduce it.
If not, a general description of what you were doing immediately
before the trap.
:QUESTION.
I opened an EPM window from LaMail...
:ANSWER.
No you didn't. EPM and LaMail are two separate applications that are
both built on top of the E Toolkit. When you open an edit window from
LaMail, it's a LaMail edit window. You need not have EPM on your
system to do this, only the E Toolkit (ETK*.DLL).
This might seem pedantic, but using the correct terms avoids confusion
and makes it easier for us to figure out what users are attempting to
describe.
:QUESTION.
How does EPM (or LaMail) find its .INI file, and how can I move it?
:ANSWER.
EPM first looks in the OS2.INI for an EPM / EPMIniFile entry. If found,
this is used as the location of the EPM.INI file. If no entry is found
in OS2.INI, EPM will search the EPMPATH for the EPM.INI. If it's still
not found, EPM will ask the user where it can be found / should be
created.
(For LaMail, substitute LAM / LAMIniFile, LAM.INI, and LAMPATH.)
OS/2 2.x contains an entry in the default OS2.INI for EPM / EPMIniFile
pointing to \OS2, so this is where EPM will place its EPM.INI. This
was done so that new users of the OS/2 Enhanced Editor wouldn't be
confused by the prompt asking where to put the .INI file.
If you use a .INI file editor, such as JPOS2INI (from OS2TOOLS), to
delete the entry from the OS2.INI (while EPM is not running), then you
will be able to either move the EPM.INI to where you want it, or
delete it if you want a new one to be created.
:QUESTION.
How can I get the Ctrl+H feature working?
:ANSWER.
If your system is set up correctly, placing the cursor on a word and
pressing Ctrl+H, or pressing the Ctrl key while double-clicking MB1 on
the word should bring up the help.
You must have WANT_KEYWORD_HELP = 1 in your MYCNF.E if you recompiled the
macros. If you don't have KEYWORD_HELP_INDEX_FILE set in your MYCNF.E,
then the default index file is epmkwhlp.ndx, which is searched for in
the current directory, EPMPATH, DPATH, EPM.EXE's directory, and PATH (in
that order). If you have HELPNDX set in your environment, the value of
this will be used in place of the hard-coded file name. The value can
either be a single file name or a list of names separated by plus signs.
E.g.,
set HELPNDX=epmkwhlp.ndx+epmtech.ndx+dde4.ndx
epmkwhlp.ndx is the index file for the OS/2 API calls, and comes with
the OS/2 2.x Developer's Toolkit. dde4.ndx come with C Set/2.
epmtech.ndx is part of the EPM package.
Note that while EPM supports multiple files, the Toolkit's Kwikinf
utility does not; if you use that, and wish to support more than one
of the available .ndx files, you'll have to merge them into a single
file.
:QUESTION.
How come my redefinition of up, down, etc. has no effect, but it works
for other keys?
:ANSWER.
Do a Togglecontrol 26. By default, the arrows are handled internally,
for performance reasons - all that runtime logic for checking line or
stream mode, basic or advanced marking, etc. slowed down the macro code
too much.
If you're trying to modify Ctrl+Up or Ctrl+Down, the reason is different:
they're defined to be accelerators for "Push cursor" and "Pop cursor".
Either turn off stack support (by removing WANT_STACK_CMDS from your
MYCNF.E) or define your own accelerators, replacing the 1222 and 1223
(defined in STDMENU.E, FEVSHMNU.E, or OVSHMENU.E). Most accelerators
are defined to execute the internally-defined key, but the DOKEY cmd
does not currently support Ctrl+Up or Ctrl+Down. This will be fixed
in a future release.
:QUESTION.
When I try to preview my text under EPM I get a Trap 00D (SYS3175) ???
:ANSWER.
In config.sys you will find a line "RUN=...\EPW.EXE". REM
that out and put "DETACH ...\EPW.EXE" in startup.cmd and
reboot (... is the path to EPW.EXE). It is a bug in the
EPW.EXE prog which is installed by CM/2 or DB/2.
:QUESTION.
The help says to go to Options, Preferences, <something>, but my
Options menu doesn't have a Preferences. What's going on?
:ANSWER.
If you don't have configuration constants set so that at least one of the
items on the Preferences menu besides Settings would be present, then we
don't bother with a pullright, and just place Settings on the Options
menu. Take a look at OS2TOOLS,CFG to see how the shipped .ex files were
configured, or EPMGCNF.SMP to see how the OS/2 2.x Enhanced Editor was
configured. The relevant menu items and configuration settings are:
Advanced marking WANT_CUA_MARKING = 'SWITCH'
Stream editing WANT_STREAM_MODE = 'SWITCH'
Ring enabled RING_OPTIONAL = 1
Stack commands WANT_STACK_CMDS = 'SWITCH'
CUA accelerators BLOCK_ACTIONBAR_ACCELERATORS = 'SWITCH'
For additional details on any of these configuration constants, see the
online users guide. For example: view epmusers WANT_CUA_MARKING
:QUESTION.
Whenever I am in draw mode, and I try to draw right to left,
I get the following message, 'Call: unknown proc "ISDBCS"'. Why?
:ANSWER.
You recompiled the base macros (EPM.EX) without WANT_DBCS = 1 in your
MYCNF.E, but didn't create a new DRAW.EX, so it still thinks there's
DBCS support in the base .ex file. If you recompile DRAW, everything
should be fine.
:QUESTION.
How can I get LEXAM.DLL and an appropriate dictionary?
:ANSWER.
To get a copy of LEXAM.DLL and US.DCT, you can take it from the OS/2 TCP/IP
product or the Developer's Connection CD-ROM. For other dictionaries, you
can download them in binary from a VM host if you have VM PROOF
installed there (e.g., as part of PROFS or Office Vision). Download the
appropriate * LEXIS file to *.DCT. The LEXAM.DLL must be in a directory
in your LIBPATH, and the dictionary must be pointed to by the Dictionary
entry in the Paths page of the EPM Settings dialog.
:QUESTION.
EPM won't let me SAVE AS a file to the host. Why is this?
:ANSWER.
The Save As uses the standard OS/2 2.x file dialog, which knows nothing
about host files. Using Name and then Save gives the same result.
:QUESTION.
EPM returns to my .CMD file before I'm done editing. <or>
My EPM program reference doesn't stay cross-hatched. <or>
Why can't I have different working directories in different
edit windows?
:ANSWER.
By default, when you start a new instance of EPM, it checks to see if
there's already a running instance. If there is, it passes off the
command-line parameters to the running instance and immediately
terminates. This saves on system resources, by only having one process,
but it confuses the WPS, which only knows that it started a program and
the program it started, ended. If you start EPM with the /M option
(for Multiple processes), it won't do this - each /M invocation will
start a new process, which will be more costly in terms of system
resources, but which will keep the cross-hatching in synch, and will
also ensure that control won't return until the edit session ends
(often important when starting EPM from a .CMD file, or from NR/2).
Finally, you must do this if you want different edit windows to have
different working directories, as a single process can only have one
working directory.
:QUESTION.
When I open an EPM WPS edit object, I get one set of settings, when I
start EPM from the OS/2 command line, I get a different set. What's
the story?
:ANSWER.
The configuration for an EPM WPS edit object is saved by the WPS, and
is unique for that edit object. (You can copy the settings to another
edit object by exporting them to a file from the first object's pop-up
menu, and importing them into the second.)
When EPM is started from the command line, or from a program reference,
it uses the EPM.INI to load and save its settings from. (See a previous
answer for details on how EPM finds the EPM.INI.)
:QUESTION.
You said to add something to a MY*.E file, but I can't find
such a file in the distributed macros (EMACROS.FLS or EPMMAC.ZIP).
:ANSWER.
We never ship a MY*.E file; that way there's no chance of overlaying
one of your files. If you don't already have a MY*.E, create one.
(MYSTUFF.E, MYCNF.E, MYKEYS.E, MYKEYSET.E, or MYMAIN.E)
(If this is the first time you're compiling, you should create a
MYCNF.E starting with OS2TOOLS.CFG as a base. OS2TOOLS.CFG was used as
the MYCNF.E used to build the *.EX files used for EPM 6, and internally
for 5.51. EPMGCNF.SMP was used as the MYCNF.E file used to build the
*.ex files shipped with the OS/2 Enhanced Editor.)
------------------------------------------------------------------
List of files included in E_MACROS:
ALL.E - The ALL macro; displays all instances of a given string.
ASSIST.E - The bracket-matching code used by Ctrl+left bracket.
BOOKMARK.E - Bookmark support, Workframe support, & code to load and
save EPM attributes as an enhanced attribute.
BOX.E - The BOX macro; draw a box in various styles.
BUFF.E - Test macros for the buffer() opcode; not actually used.
CALLREXX.E - The Rexx macro interface code.
CHAROPS.E - Support for character mark operations.
CKEYS.E - C language syntax assist.
CKEYSEL.E - (Not used by EPM.)
CLIPBRD.E - Support for the clipboard and for copying marks between windows.
COLORS.E - Constant definitions for color names.
DOSUTIL.E - OS-specific code (DATE, TIME, DIR, etc.).
DRAW.E - The DRAW macro; lets you draw figures with the cursor keys.
DRAWKEY.E - F6 definition.
E.E - The main file that includes most of the others.
E3EMUL.E - Advanced host file editing support
EKEYS.E - E macro language syntax assist.
EKEYSEL.E - (Not used by EPM.)
ENGLISH.E - Messages; included separately for NLS support.
EPM.E - Front-end for E.E.
EPMDBCS.E - DBCS support
EPMGCNF.SMP - The MYCNF.E used to build the Enhanced Editor.
EPMLEX.E - Spell-checking support.
EPMSHELL.E - EPM Shell support.
EPM_EA.E - Enhanced attribute support.
EXTRA.E - Used to split EPM.EX in two.
GET.E - The GET macro; get a copy of a file into the current file.
HELP.E - Builds the stand-alone HELP.EX used by the help browser.
KWHELP.E - Keyword help support (Ctrl+H or Ctrl+double-click MB1).
LINKCMDS.E - Linking-related commands.
LOAD.E - The default DEFLOAD (executed every time a file is loaded).
MAIN.E - The default DEFMAIN (processes the command line arguments).
MAKETAGS.E - Used to create a TAGS file (EPM 6.x only).
MARKFILT.E - Procedures for filtering a block,line or character mark.
MATH.E - MATHx, ADD, and MULT commands.
MATHLIB.E - Support for MATH.E; separately linkable.
MENUHELP.H - Help panel numbers; used by STDMENU.E
MODIFY.E - The default DEFMODIFY (called when .modify status changes and
for autosaving.
MOUSE.E - Mouse support.
MYCNF.SMP - A simple sample MYCNF.E.
MYSTUFF.SMP - A sample MYSTUFF.E.
OS2TOOLS.CFG - The MYCNF.E used to build the .ex files distributed within IBM.
PKEYS.E - P language syntax assist.
PKEYSEL.E - (Not used by EPM.)
PUT.E - The PUT macro; copy the marked area or current file into a
new file, or append it to the end of an existing file.
READ.ME - (This file.)
REXXKEYS.E - Rexx language syntax assist.
RKEYSEL.E - (Not used by EPM.)
SAVELOAD.E - The default host file editing support.
SELECT.E - The default DEFSELECT (called whenever the current file changes).
SLNOHOST.E - Save / Load file support with no host support.
SMALL.E - Used to compile a smaller .ex file; untested with the current EPM.
SORTDLL.E - The SORT command that uses sorting code in a DLL; limited to
sorting 64k (65,535 bytes) of data.
SORTE.E - A SORT command that just uses macro code. Slower, but no size
limit.
SORTEPM.E - The SORT command used by EPM 6, which has a built-in sort.
Faster than either of the previous sorts, with no size limits.
STDCMDS.E - Most of the macro-defined commands are defined here.
STDCNF.E - Standard configuration file; sets defaults for options not
set in MYCNF.E.
STDCONST.E - Sets various constants.
STDCTRL.E - Code for interacting with various PM and EPM controls.
STDKEYS.E - Most of the keys are defined here.
STDMENU.E - The standard EPM action bar is defined here.
STDPROCS.E - Most of the standard macro procedures are defined here.
TAGS.E - Adds TAGS support (EPM 6.x only).
USERAPP.SMP - A sample user application, written for sharing with other users.
It shows how to include the MYCNF.E to determine the user's
defaults.
Note: EPM 6.0x adds long lines support, extended GREP, tags support, user
configurable toolbar, pop-up menus, keyword highlighting, faster sort,
faster spell-check, multiple views, context menus, and lots more. From
EPM, you can select Help / General Help / EPM Features to see further
details.