\high-resolution \ad 1"\ll 6"\font Helvetica \co\ju Notes on Eperror\ra Greg Lee, 9/84 \ec # On those rare occasions when EP detects an erroneous formatting command, it will chain to EPERROR.COM, provided it can find this file on the current default disk. After Eperror has been called, the two most frequently exercised options will be ^C, to exit, or `e' to edit the file that was being formatted. But there are others. First, a few words about `e' for edit. The idea is to have an economical way for you to call up your own text editor, so all this does is call up the editor and supply the name of a text file. If the `e' is followed immediately by a carriage return, the name supplied to the editor will be that of the "principle" file that was being printed. This is the name that was given right after `EP' when EP was originally called. When you are using imbedded files, this might not be the file in which the problem arose. Fortunately, the `e' command can also be followed (immediately) by the name of the file you would actually like to edit. The initial assumption is that your editor has the file name `E.COM'. If that is not so, this assumption can be changed by placing the name into the initialization file `EP.INI', by going through the following procedure: (1) if eperror has not already been called, call it with A>eperror (2) load a fresh copy of EP.INI with `l' (3) use the `$' command to enter the name of your editor -- e.g. if the editor's file name is WS.COM, type `$ws' (don't include the extension) (4) save the updated EP.INI with `s' In step (1), if Eperror is called independently, and the last program that you ran under CPM was not EP, Eperror's attempt to characterize the error that occurred and to list the line where it was found will produce some junk on the screen. Now for the other options. Eperror can be used to browse though the data area that EP has just been using, and also to change the default values assumed for command variables (page-length, bottom-margin, and so on). I don't know how much use this will be to you -- probably not much. As to browsing, Eperror has screen prompts that say how to look at what. If you are making extensive use of your own variables and macro commands, it might be helpful to look at the current variable values with the `\' command. As for changing default values, you might find it more straightforward to do this through EP by use of the \save command (cf. EPREF.DOC). But if you choose to use Eperror, the procedure is much like that given above for changing the editor's name, except that step (3) would involve using the `=' command to patch in new default values. The value typed in after `=', by the way, can be a decimal number, a hex number followed by `h', a character, or nothing (in which case 0 is assumed). One sort of change to the defaults that you would need Eperror for is this: within EP.INI are codes for the types of EP commands, like whether they have arguments which are horizontal measures, and whether they cause breaks. In this last regard especially, you might find some of the choices I have made inconvenient. Or you might want to type some of your own variables. To change a type, obtain the memory address and the current value with the `t' command, then enter your new choice using `='. Here are the meanings of the bits in the coding: bit 0 takes `h' type argument -- numerical value, horizontal measure bit 1 takes `v' type argument -- numerical value, vertical measure bit 2 synonym of Epson command -- value is character to turn on an Epson print mode bit 3 causes a break bit 4 takes `c' type argument -- character value bit 5 value is special character to be placed in output line bit 6 value is pointer to string bit 7 causes a break before next input line bits 5 and 1 together assume argument=1, don't scan for a numerical argument Among the "special" characters associated with bit 5 are some internal codes, as follows: 90H center the following 91H right adjust the following 92H wide space 93H wide space with absolute width 94H pause here for console input 95H place wide space here (from use of \hfill) 96H back space And finally, for reference, here is the overall format of the initialization data kept in EP.INI: load type symbol addr size word val[27][27] 4906 05B2 values of `pl', etc. byte valtp[27][27] 4EB8 02D9 type of value, e.g. numerical byte modelen[64] 5191 0040 width of Epson built-in char's, for each mode byte pmlen[256] 51D1 0100 width of Epson proportional char's word mode 52D1 0002 16 bits keep track of font, etc. byte (not used) 52D3 0001 byte bending[7][24] 52D4 00A8 data for \bend command byte editname[10] 537C 000A name of editor called by eperror (end) 5386 total = A80H bytes, 10 pp. or 21 records