home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / ebooke.zip / EBOOKIE.INF (.txt) < prev    next >
OS/2 Help File  |  1993-03-29  |  94KB  |  3,835 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Preface ΓòÉΓòÉΓòÉ
  3.  
  4. This document describes the features and function of EBOOKIE2 version 2.2, a 
  5. tool for editing tagged files. It supports the following tag languages: 
  6.  
  7. o BookMaster version 2 and 3 
  8.  
  9. o GML Starter-Set release 3.2 
  10.  
  11. o FOILS5 version 5.3 
  12.  
  13. o APAFOIL release 2.1 
  14.  
  15. o IPF of OS/2 version 1.2 and above. 
  16.  
  17. EBOOKIE2 is based on the "E" family of editors, and is available for all 
  18. flavors of "E" (E3 for DOS, EOS2 for OS/2 full screen sessions, and EPM for the 
  19. OS/2 Presentation Manager). 
  20.  
  21. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  22. ΓöéNote                                                        Γöé
  23. Γöé                                                            Γöé
  24. Γöé                                                            Γöé
  25. ΓöéA version of EBOOKIE for E3, the DOS version of the E       Γöé
  26. Γöéeditor, is available as EBOOKIE PACKAGE on PCTOOLS.         Γöé
  27. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  28.  
  29.  
  30. ΓòÉΓòÉΓòÉ 1.1. Related Manuals ΓòÉΓòÉΓòÉ
  31.  
  32. The following manuals contain additional information about the "E" editors: 
  33.  
  34. o The E3 Editor User's Guide 
  35.  
  36.   available as E3 SCRIPT in the E3 PACKAGE on the PCTOOLS disk. 
  37.  
  38. o The E OS/2 Editor User's Guide 
  39.  
  40.   available as EOS2 SCRIPT in the EOS2 PACKAGE on the OS2TOOLS disk. 
  41.  
  42. o The EPM Editor User's Guide 
  43.  
  44.   available as EPM SCRIPT in the EPM PACKAGE on the OS2TOOLS disk. 
  45.  
  46. The following manuals have been used during the implementation of EBOOKIE2: 
  47.  
  48. o BookMaster User's Guide (SC34-5009-02) 
  49.  
  50. o BookMaster Creating Named Styles (SC34-5008-03) 
  51.  
  52. o Generalized Markup Language Starter Set Reference Release 3.2 (SH20-9187-05) 
  53.  
  54. o FOILS5 Version 5.3 Language Reference 
  55.  
  56. o APAFOIL Release 2.1 Quick Reference Summary 
  57.  
  58. o OS/2 Version 1.2 Programming Guide (PN 00F8833) 
  59.  
  60.  
  61. ΓòÉΓòÉΓòÉ 1.2. Acknowledgements ΓòÉΓòÉΓòÉ
  62.  
  63. Special thanks to Erwin Uit de Bos from IBM Nederland for his assistance during 
  64. the transition from the EGML package to EBOOKIE, Mike Temple from IBM U.S.A. 
  65. for his BookMaster help support, numerous appenders of the EBOOKIE FORUM on 
  66. IBMPC for keeping me busy, and my wife Maria for her patience... 
  67.  
  68.  
  69. ΓòÉΓòÉΓòÉ 1.3. About EBOOKIE2 ΓòÉΓòÉΓòÉ
  70.  
  71. EBOOKIE2 has been developed in various stages. The first incarnation of the 
  72. tagged-file support on PCTOOLS was called "EGML", and supported GML Starter-Set 
  73. tags only. Then came "EBOOKIE" and "EBOOKIE2" (for the OS/2 family of the E 
  74. editors), which supported at first BookMaster, then other tagged files like GML 
  75. Starter-Set, FOILS5, APAFOIL, and IPF. The current implementation of variable 
  76. tag delimiter characters allows EBOOKIE to be used for all kinds of tagged 
  77. files, as long as a tag definition file is written for the tag language. For 
  78. example, this allows the implementation of DTL (Dialog Tag Language), a tag 
  79. language which is used by the SAA Dialog Manager. This language does not use 
  80. the same tag-delimiters (":"to start a tag, "." to end it) as for instance 
  81. BookMaster, the tags are enclosed within "<" and ">" characters as defined in 
  82. SGML, the ANSI standard for tagged files. 
  83.  
  84. Note:  Although EBOOKIE supports various tag-languages, this document uses 
  85.        BookMaster tags for most of the examples. This is mainly because most of 
  86.        the users of EBOOKIE currently use it for editing BookMaster or GML 
  87.        Starter-Set documents. 
  88.  
  89.  
  90. ΓòÉΓòÉΓòÉ 2. What EBOOKIE Does For You ΓòÉΓòÉΓòÉ
  91.  
  92. The EBOOKIE package allows you to easily edit tagged files with the "E" family 
  93. of editors. Tags start with a one-character delimiter, and end with a 
  94. one-character delimiter. Those tag-start and tag-end characters, together with 
  95. all tags and their parameters, are defined in so called "tag definition files". 
  96. EBOOKIE includes tag definition files for the following tag languages: 
  97.  
  98. o BookMaster version 2 (as described in: SC34-5009-02 BookMaster User's Guide, 
  99.   and SC34-5008-03 BookMaster Creating Named Styles). 
  100.  
  101. o GML Starter-Set (as described in: SH20-9187-05 Generalized Markup Language 
  102.   Starter Set Reference Release 3.2). 
  103.  
  104. o FOILS5 (as described in: FOILS5 Version 5.3 Language Reference). 
  105.  
  106. o APAFOIL (as described in APAFOIL release 2.1 Quick Reference Summary). 
  107.  
  108. o IPF (as described in: PN 00F8833 OS/2 Version 1.2 Programming Guide 
  109.  
  110. The features include: 
  111.  
  112. o Tag checking. If the entered text is not a valid tag the tag-start character 
  113.   is automatically replaced by a variable defined for the current tag language. 
  114.   For example: BookMaster uses a colon (":") to start a tag. If you type an 
  115.   invalid tag (like ":xxx") the colon is replaced by the variable "&colon.". 
  116.   This feature is configurable, and can be turned off. 
  117.  
  118. o Adding of the required and optional parameters. The required parameters are 
  119.   always inserted into your text, and the cursor is positioned in the correct 
  120.   place (usually the first parameter). 
  121.  
  122.   Optional parameters are only displayed if you press the "space" bar. When you 
  123.   press the "enter" key or the "tag-end" character, the optional parameters are 
  124.   not inserted into your text. 
  125.  
  126.   There are two stages of optional parameters, the "common", and "all" 
  127.   parameters. The "space" key expands only the common parameters, the "c_space" 
  128.   key in EPM, or the "c_enter" key in EOS2 and E3, expand all parameters. 
  129.  
  130. o Automatic tag-structure creation. If a tag requires additional tags, like 
  131.   end-tags, they are inserted into your text. 
  132.  
  133. o Free editing. Tags can be entered anywhere in the text. EBOOKIE positions the 
  134.   tag in the correct location (for instance, some tags must start in column 
  135.   one). 
  136.  
  137. o The margins are changed to allow only 70 character per line, and 
  138.   word-wrapping is turned on. This allows you to type continually, without 
  139.   worrying about line ends. The number of characters per line is configurable. 
  140.  
  141. o Tabbing is set to tab one word at a time. 
  142.  
  143. o Dynamic margins. If you enter text you usually want to have the margins set 
  144.   to something which allows you to see the entire line without scrolling to the 
  145.   right. However, some language constructs like ":cgraphic." or ":xmp." require 
  146.   wider margins. EBOOKIE checks for such language constructs and changes the 
  147.   margins dynamically to "1 254 1" if the cursor is between tags which require 
  148.   other margins. 
  149.  
  150.   Note:  This feature is not perfect. It would require a big effort to 
  151.          intercept all keys and commands which change the position of the 
  152.          cursor within the file ("find" for example). It might therefore 
  153.          happen, that the margins are set incorrectly. Because of this, and 
  154.          because of the performance of the feature (there is a noticeable delay 
  155.          when you press the page up/down keys), it is not in the default 
  156.          configuration. If you want to activate this feature refer to Changing 
  157.          the Dynamic Margins. 
  158.  
  159. o "Remember tag" facility to assign a commonly used tag to a keystroke (alt_2). 
  160.   Every tag may define a tag or text which is assigned to this key. This is 
  161.   implemented for all tags which use the ":li" tag, like ":ol", ":sl", ":ul", 
  162.   etc. 
  163.  
  164. o "Boilerplate" facility to pull text into your document by typing a tag. This 
  165.   feature is used to create default document layouts. 
  166.  
  167. o Full configurability of the tags. The parameters, and the formatting results 
  168.   can be modified with up to 9 additional user-defined tag definition files. 
  169.  
  170. o Replacement of keys with symbols. In BookMaster  for example, if you type the 
  171.   "\" key, the variable "&bsl." is inserted into your text. All ASCII codes 
  172.   from X'01' to X'FE' can be re-defined in EPM or EOS2, in E3 you can only 
  173.   define symbols for the codes from X'21' to X'FE'. You may use the command 
  174.   "bkmsym" to replace all special characters of your document with the symbols 
  175.   defined in the symbol table. 
  176.  
  177.   Different symbol tables are used depending on the current codepage and tag 
  178.   definition file. EBOOKIE supplies two symbol tables for BookMaster, one for 
  179.   codepage 850, and one for codepage 437. There are no symbol tables supplied 
  180.   for other tag languages. However, you may create your own symbol files 
  181.   following the procedure in Changing the Symbol Definition File. 
  182.  
  183. o User-exits after the processing of the "enter", "page-up", "page-down", "up", 
  184.   and "down" keys. Please note that this feature is designed for power users 
  185.   who want to write their own E macros. 
  186.  
  187. o Index creation. You may mark a block of text and press the "alt_i" key, and 
  188.   the index tags are created for you. Or you just move the cursor under a word 
  189.   and press "alt_i" and this single word is put in the index. 
  190.  
  191. o Help for all BookMaster tags and their attributes. You move the current 
  192.   writing position under a tag or tag attribute and press the "alt_h" key and 
  193.   you will be presented with the help dialog (in EPM) or a new file in your 
  194.   ring (all other implementations of "E") which contains the help information. 
  195.  
  196. o Edit imbedded files. If you position the cursor at a line which contains a 
  197.   ".im", ".config" or ".setup" macro, the file is pulled in the ring. 
  198.  
  199.  
  200. ΓòÉΓòÉΓòÉ 2.1. Starting the Tag Support ΓòÉΓòÉΓòÉ
  201.  
  202. The support is started automatically under the following conditions: 
  203.  
  204.  1. The EBOOKIE footprint (the character string ".* EBOOKIE" together with the 
  205.     name of one or more tag definition files) is found. This flag is 
  206.     automatically created, and must be somewhere at the beginning of the file, 
  207.     but not necessarily in the first line, to allow other tools to occupy the 
  208.     first line. 
  209.  
  210.  2. The extension of the file is SCR, BKM, SCT, FOI, IPF, SCRIPT, or STYLE. The 
  211.     file extensions can be changed by using the procedure listed in Changing 
  212.     the Default File Extensions. 
  213.  
  214.  3. A valid tag is found in the first 100 lines of the file. This type of 
  215.     checking is optional, and is not included in the standard configuration. 
  216.  
  217. If none of the above methods result in starting the tag support, there is a 
  218. command "bookie" supplied as a last resort. This command starts the support, 
  219. regardless of the file extension or the findings of the tag-checking 
  220. initialization function. Refer to Additional Commands and Keys for more 
  221. information about the "bookie" command. 
  222.  
  223.  1. On slow machines (like my XT at home) searching of the first 100 lines 
  224.     results in a slight delay when any file is loaded into the editor. 
  225.     Therefore this feature is not included in the default configuration. Refer 
  226.     to Changing the Number of Lines Searched for a description of how include 
  227.     this feature. 
  228.  
  229.  2. EBOOKIE tries its best to keep the environment of non-tagged files clean. 
  230.     But only the implementation of EOS2 and EPM allow this to a full extent. 
  231.     For example, in E3 the margins are set for all files in the ring. EBOOKIE 
  232.     resets the margins and tabs to the configured default when a file which 
  233.     requires other language assist support is moved to the active position in 
  234.     the ring. This "feature" creates only one problem: if you have changed the 
  235.     tabs or margins manually, they are reset to the default value. Refer to 
  236.     Margin Changes in E3 for a way to force EBOOKIE not to change the margins. 
  237.  
  238.  
  239. ΓòÉΓòÉΓòÉ 2.2. Additional Commands and Keys ΓòÉΓòÉΓòÉ
  240.  
  241. EBOOKIE includes the following additional "E" commands and keys: 
  242.  
  243. o bookie 
  244.  
  245. o bookief 
  246.  
  247. o bkmattr (optional) 
  248.  
  249. o bkmsym (optional) 
  250.  
  251. o bkmdebug (optional) 
  252.  
  253. o alt_1 
  254.  
  255. o alt_2 
  256.  
  257. o alt_i (optional) 
  258.  
  259. o alt_h (optional) 
  260.  
  261. o ctrl_h (optional) 
  262.  
  263. If you are using EPM the macro creates an entry in the action bar called 
  264. "Ebookie". You may use all commands from there too. 
  265.  
  266.  
  267. ΓòÉΓòÉΓòÉ 2.2.1. The "bookie" Command ΓòÉΓòÉΓòÉ
  268.  
  269. The "bookie" command can be used to turn the formatting on or off. The command 
  270.  
  271. bookie on
  272.  
  273. turns the formatting support for the current file on, the command 
  274.  
  275. bookie off
  276.  
  277. turns the support off. 
  278.  
  279.  
  280. ΓòÉΓòÉΓòÉ 2.2.2. The "bookief" Command ΓòÉΓòÉΓòÉ
  281.  
  282. The "bookief" command allows you to switch to a different set of tag definition 
  283. files after the support has been started. This might be useful in environments 
  284. where files using different tag languages are edited. You may specify up to 10 
  285. definition files with this command to include your personalized tag definition 
  286. files. Those definition files are concatenated, and used concurrently. Please 
  287. note that duplicate definitions of tags are allowed, but the definitions in the 
  288. last file in your list override the definitions in previous files. For a 
  289. description of the format of the tag definition file refer to Changing the Tag 
  290. Definition File. 
  291.  
  292. This command also inserts the name of the tag definition files into the current 
  293. file. When you save the file, and edit it again, the support is automatically 
  294. started using those tag definition files. 
  295.  
  296. Let's make one example. The default tag definition file is for BookMaster, but 
  297. you want to edit a file which contains FOILS5 tags. When you edit a tagged 
  298. file, you will notice the EBOOKIE "footprint" somewhere at the beginning of 
  299. your file (usually in the first line): 
  300.  
  301. .* EBOOKIE (BKMTAGS.DEF)
  302.  
  303. This means that BookMaster formatting is used for this file. Now you enter the 
  304. command: 
  305.  
  306. bookief foils5.def
  307.  
  308. in the command line. This changes the footprint to: 
  309.  
  310. .* EBOOKIE (FOILS5.DEF)
  311.  
  312. and FOILS5 formatting is turned on for this file. When you save this file, and 
  313. edit it again, the formatting is automatically set for FOILS5. 
  314.  
  315.  
  316. ΓòÉΓòÉΓòÉ 2.2.3. The "bkmattr" Command ΓòÉΓòÉΓòÉ
  317.  
  318. This command is only available in EPM, and is optional. It is not available by 
  319. default. If the attribute support is configured (refer to Attribute Support for 
  320. EPM for more information about the configuration and installation of the 
  321. support), the "bkmattr" command searches for all tags in the file, and 
  322. highlights them. Please note that searching for all tags in a larger file may 
  323. take some time. All new tags typed are highlighted. 
  324.  
  325. The attribute support can be switched off with the command: 
  326.  
  327. bkmattr off
  328.  
  329.  
  330. ΓòÉΓòÉΓòÉ 2.2.4. The "bkmsym" Command ΓòÉΓòÉΓòÉ
  331.  
  332. If the symbol support is configured (refer to Replacing Keys with BookMaster 
  333. Symbols for configuration instructions) and active, this command changes all 
  334. occurrences of all special characters in the file or mark to the appropriate 
  335. BookMaster symbol. To change the entire file, you have to specify the "all" 
  336. parameter, without having set a mark. 
  337.  
  338.  
  339. ΓòÉΓòÉΓòÉ 2.2.5. The "bkmdebug" Command ΓòÉΓòÉΓòÉ
  340.  
  341. EBOOKIE has some limited debugging support. If something goes wrong, you may 
  342. use the "bkmdebug" command to get some information about the current internal 
  343. variables, or trace through the subroutines and look at the parameters. This 
  344. command is included in the EOS2 and EPM versions, excluded (because of the 
  345. limited macro space) in E3. To include the debugging support refer to Including 
  346. the Debugging Support. 
  347.  
  348. The "bkmdebug" command accepts on parameter which can be (minimum abbreviations 
  349. shown in upper case): 
  350.  
  351. Parameter Description 
  352.  
  353. On        Turns debugging on. All subroutines report the input parameters upon 
  354.           entry. All messages have to acknowledged with a key. To review the 
  355.           messages refer to Messages Issued During Debugging. 
  356.  
  357. OFf       Turns debugging off. 
  358.  
  359. Trace     Turn "echo" on. Refer to the User's Guide of the editor for more 
  360.           information about the "echo" command. 
  361.  
  362. Endtrace  Turns "echo" off. 
  363.  
  364. Display   Adds about a page of information about internal variables into your 
  365.           document (as script comments). To interpret the debugging information 
  366.           refer to Debugging EBOOKIE. 
  367.  
  368.  
  369. ΓòÉΓòÉΓòÉ 2.2.6. The "alt_1" Key ΓòÉΓòÉΓòÉ
  370.  
  371. If you are editing a file which imbeds other files you can position the cursor 
  372. on the line which contains the ".im" or ".setup" macro, and the file is pulled 
  373. into the ring. If the file is a PC file it is searched in the following 
  374. directories: 
  375.  
  376.  1. The directory where the current file is located. 
  377.  
  378.  2. Along the EPATH. 
  379.  
  380.  3. Along the PATH in DOS, or DPATH in OS/2. 
  381.  
  382. The extension of the file computed in the following manner: 
  383.  
  384.  1. If the imbed macro does not specify a file type, .SCR is assumed. 
  385.  
  386.  2. If the imbed macro contains a file type (like .im (myfile foils) the first 
  387.     three letters from the file type are used as extension. 
  388.  
  389. If the current file is a host file, the imbedded file will be taken from the 
  390. host. The file type is SCRIPT if the ".im" macro didn't specify a file type. 
  391. The file mode is the same as the file mode of the current file. 
  392.  
  393.  
  394. ΓòÉΓòÉΓòÉ 2.2.7. The "alt_2" Key ΓòÉΓòÉΓòÉ
  395.  
  396. This key allows you to insert a sequence of characters, usually tags, into your 
  397. file. The tags inserted depend on the definition in the tag definition file. 
  398. For example, if you started a definition list with the ":dl" tag, the alt_2 key 
  399. will generate a ":dt.:dd" line, with the cursor positioned after the ":dt." 
  400. tag. If you start an ordered list with ":ol", the alt_2 key inserts a ":li" 
  401. tag. 
  402.  
  403. The default text assigned to the alt_2 key is determined by the tag definition 
  404. file, usually it is ":p" for paragraph. This default may be changed using the 
  405. procedure in Changing the Tag Definition File 
  406.  
  407.  
  408. ΓòÉΓòÉΓòÉ 2.2.8. The "alt_i" Key ΓòÉΓòÉΓòÉ
  409.  
  410. If the index support is included (refer to The Index Support), you may use the 
  411. "alt_i" key to create an index tag for the word the cursor is under. If you 
  412. mark a block of words, all words are included in the index, including all 
  413. permutations. 
  414.  
  415.  
  416. ΓòÉΓòÉΓòÉ 2.2.9. The "alt_h" Key ΓòÉΓòÉΓòÉ
  417.  
  418. The "alt_h" can be used to get help about the tags and the valid tag attributes 
  419. for the currently active tag language. The "Help Manager" is used when you work 
  420. with EPM. In E3 or EOS2 EBOOKIE creates an additional file in the ring. 
  421.  
  422. The help facility is included in the default configuration, refer to The Help 
  423. Support for configuration options. For the format of the help file for EOS2 and 
  424. E3 refer to The Help File. 
  425.  
  426. Note:  EPM uses the OS/2 Help Manager to display the help information. This 
  427.        means that you have to tell the Help Manager where the help files are 
  428.        located. This is done by setting the "BOOKSHELF" environment variable in 
  429.        the file C:\CONFIG.SYS. For example: 
  430.  
  431.               SET BOOKSHELF=D:\EBOOKIE;
  432.  
  433. would tell the Help Manager to search for the help files in the directory 
  434. D:\EBOOKIE. 
  435.  
  436. Usually you have already a BOOKSHELP variable in your CONFIG.SYS, in this case 
  437. just add the directory to the environment variable. 
  438.  
  439.  
  440. ΓòÉΓòÉΓòÉ 2.2.10. The "ctrl_h" Key ΓòÉΓòÉΓòÉ
  441.  
  442. This key acts exactly the same way as the "alt_h" key in EOS2 and E3. If you 
  443. use EPM it does not use the Help Manager to display the help text, it uses the 
  444. same method as E3 or EOS2, that means the help text is displayed as a separate 
  445. file in the ring. 
  446.  
  447.  
  448. ΓòÉΓòÉΓòÉ 2.3. Formatting Examples ΓòÉΓòÉΓòÉ
  449.  
  450. Tags can be entered anywhere in the text, but most of the tags usually appear 
  451. only at specific places. Basically there are three types of tags: 
  452.  
  453.  1. Tags that must start in the first position of a line, which don't have any 
  454.     text after the end of the tag (like ":body."). 
  455.  
  456.  2. Tags which must start in the first position of a line which might have some 
  457.     text after the tag (like ":p."). 
  458.  
  459.  3. Tags which can be anywhere in the text (like ":hdref."). 
  460.  
  461. Additionally, each tag might have some properties like: 
  462.  
  463. o required parameters 
  464.  
  465. o optional parameters 
  466.  
  467. o tag constructs, where one tag requires a series of other tags (like 
  468.   end-tags). 
  469.  
  470. EBOOKIE supports all three types of tags in combination with all properties the 
  471. tags might have. You can type tags anywhere in the text, even in the wrong 
  472. places. The support determines the type of the tag, and positions the tag in 
  473. the text depending on the type. 
  474.  
  475.  
  476. ΓòÉΓòÉΓòÉ 2.3.1. Type 1 Tags ΓòÉΓòÉΓòÉ
  477.  
  478. Type 1 tags are always moved to the beginning of a new line. If you enter the 
  479. tag somewhere in the text, it is removed, and the text is reflowed. 
  480.  
  481. If the text is: 
  482.  
  483. :p.This is some text.
  484.  
  485. and a ":xmp." tag is typed anywhere on the line, it always results in: 
  486.  
  487. :p.This is some text.
  488. :xmp.
  489.  
  490. :exmp.
  491.  
  492.  
  493. ΓòÉΓòÉΓòÉ 2.3.2. Type 2 Tags ΓòÉΓòÉΓòÉ
  494.  
  495. Type 2 tags are also moved to a new line, but depending on where you have typed 
  496. of the tag within the line, the results are different. If you enter the tag in 
  497. an empty line, it is left there. If you enter the tag at the end of a line, it 
  498. is moved to a new line like: 
  499.  
  500. :p.This is some text.:p.
  501.  
  502. results in: 
  503.  
  504. :p.This is some text.
  505. :p.
  506.  
  507. If you enter the tag at the beginning of the line, it is inserted in this 
  508. place. 
  509.  
  510. This is some text.
  511.  
  512. Now the ":p." tag is inserted at the beginning of the line. This results in: 
  513.  
  514. :p.This is some text.
  515.  
  516. If you insert the tag in the middle of a line, the line is split at the tag 
  517. position, and the remainder is moved after the tag: 
  518.  
  519. :p.This is a sentence.  Another sentence, should be a paragraph.
  520.  
  521. Now the cursor is moved to the beginning of the word "Another", and a tag is 
  522. entered: 
  523.  
  524. :p.This is a sentence.  :p.Another sentence, should be a paragraph.
  525.  
  526. This results in: 
  527.  
  528. :p.This is a sentence.
  529. :p.Another sentence, should be a paragraph (now it is).
  530.  
  531.  
  532. ΓòÉΓòÉΓòÉ 2.3.3. Type 3 Tags ΓòÉΓòÉΓòÉ
  533.  
  534. Type 3 tags can be anywhere in the text. Therefore they are expanded exactly at 
  535. the position where they are entered. If the text is: 
  536.  
  537. :p.This is some text.
  538.  
  539. and a ":hdref"  tag is inserted after the word "some" it results in: 
  540.  
  541. :p.This is some :hdref refid=. text.
  542.  
  543. If the tag has an end-tag, the end-tag is always positioned at the end of the 
  544. line. 
  545.  
  546. :p.This is some text which is :hp1
  547.  
  548. results in: 
  549.  
  550. :p.This is some text which is :hp1.:ehp1.
  551.  
  552. If the tag is inserted in the middle of a line, the remainder of the line to 
  553. the right of the tag is enclosed within the start- and end-tag. One example: 
  554.  
  555. :p.This is a line.
  556.  
  557. Now you position the cursor at the beginning of the word line, and ":hp1." is 
  558. entered. This results in: 
  559.  
  560. :p.This is a :hp1.line.:ehp1.
  561.  
  562. If this type of tag is inserted at the beginning of the line, the entire line 
  563. is imbedded between the tags. 
  564.  
  565.  
  566. ΓòÉΓòÉΓòÉ 2.3.4. Tag Parameters ΓòÉΓòÉΓòÉ
  567.  
  568. Most of the tags have attributes which control their function. Some of the 
  569. attributes are required, some are optional. Usually you don't need all 
  570. parameters, therefore EBOOKIE has three stages of tag expansion: 
  571.  
  572.  1. Required parameters 
  573.  
  574.  2. "Usual" parameters 
  575.  
  576.  3. All parameters. 
  577.  
  578. All tags have a defined start character (":" in BookMaster), and a defined end 
  579. character ("."). In addition to the defined tag-end character, you may also use 
  580. the "enter" key to end a tag. 
  581.  
  582.  
  583. ΓòÉΓòÉΓòÉ 3. Installation ΓòÉΓòÉΓòÉ
  584.  
  585. The installation of EBOOKIE consists of a few easy steps. First you have to 
  586. download and install the editor, then the EBOOKIE2 PACKAGE. Finally you have to 
  587. include the support into your editor definitions, or you just copy the supplied 
  588. default installation files. These steps will be different, depending on the 
  589. version of the editor you are using. 
  590.  
  591. The following steps are common for all flavors of the editor: 
  592.  
  593.  1. Download the version of the editor most suitable for your environment, if 
  594.     you have not done so already. EBOOKIE has been tested only with the latest 
  595.     versions of the editor, which are: 
  596.  
  597.    o EPM Version 5.50, available as an "Applet" in OS/2 2.0. 
  598.  
  599.    o EPM Version 5.51 (EPM PACKAGE from OS2TOOLS), also available outside IBM 
  600.      via OS2EWS. 
  601.  
  602.    o EPM Beta Version 5.60 
  603.  
  604.    o EPM Beta Version 6.00 
  605.  
  606.    o EOS2 Version 4.13A (EOS2 PACKAGE from OS2TOOLS) 
  607.  
  608.     Don't forget to download the file EMACROS FLSBIN, it contains the required 
  609.     "E" macros. The macros are also available in the EPM and EPS2 package. 
  610.     Unload the macros with LOADRAM2.EXE (found on OS2TOOLS) 
  611.  
  612.  2. Download EBOOKIE2 PACKAGE from OS2TOOLS. You may use any downloading method 
  613.     suitable for your type of terminal emulation. I suggest you download all 
  614.     package files to the directory where your editor resides. 
  615.  
  616.  3. Run the EBOOKIE2.EXE to expand it. 
  617.  
  618.  4. You may now delete the file EBOOKIE2.EXE. 
  619.  
  620.  
  621. ΓòÉΓòÉΓòÉ 3.1. Installing EBOOKIE2 With EPM ΓòÉΓòÉΓòÉ
  622.  
  623. The following steps describe the procedure to install EBOOKIE into EPM. You 
  624. have two options: 
  625.  
  626.  1. The default installation. 
  627.  
  628.     If you are using EPM version 5.51 or 5.50 (supplied as an "Applet" in OS/2 
  629.     2.0), and no add-on packages or private configuration files, you may 
  630.     install EBOOKIE by just renaming one file and issuing one EPM command. 
  631.  
  632.     Please note that the default installation is not available if you use any 
  633.     beta releases of EPM. 
  634.  
  635.  2. The extended installation. 
  636.  
  637.     If you are using a beta version of EPM, or you want to re-configure EBOOKIE 
  638.     to your personal preferences, you have to create a new version of the .EX 
  639.     files. 
  640.  
  641.  
  642. ΓòÉΓòÉΓòÉ 3.1.1. The Default Installation ΓòÉΓòÉΓòÉ
  643.  
  644. The default installation is the easiest way to use EBOOKIE, you just have to 
  645. rename one file, and issue one EPM command. 
  646.  
  647.  1. Switch to the directory where your editor is installed, for example: 
  648.  
  649.         d:
  650.         cd \editor
  651.  
  652.  2. Rename one of the BKEYS.??? files to BKEYS.EX. 
  653.  
  654.    o If you are using EPM 5.50 rename the file BKEYS.550 to BKEYS.EX. 
  655.  
  656.    o If you are using EPM 5.51 rename the file BKEYS.551 to BKEYS.EX. 
  657.  
  658.  3. Start EPM for any file (for example TEST.SCR) and press CTRL-I to get an 
  659.     EPM command prompt. 
  660.  
  661.  4. Type the command "PROFILE ON" in the command entry field. 
  662.  
  663.  5. Press the Enter key to execute the command. 
  664.  
  665.  6. Save the options by selecting "Options->Save options" from the EPM action 
  666.     bar. 
  667.  
  668.  7. Exit EPM by pressing F3. 
  669.  
  670. You may now verify the installation using the procedure in Verifying the 
  671. Installation. 
  672.  
  673.  
  674. ΓòÉΓòÉΓòÉ 3.1.2. The Extended Installation ΓòÉΓòÉΓòÉ
  675.  
  676. If you are using any add-on packages for EPM, or if you want to change some 
  677. defaults of the editor or EBOOKIE you have to use the extended installation 
  678. procedure. 
  679.  
  680. EPM allows you to define EBOOKIE as external module. This has the advantage 
  681. that EBOOKIE doesn't use storage out of the primary macro file (EPM.EX, or 
  682. EXTRA.EX) which is limited to 64KB. 
  683.  
  684. If you want to include EBOOKIE as an external module you have to add the 
  685. following line to your MYCNF.E: 
  686.  
  687. WANT_EBOOKIE = 'DYNALINK'
  688.  
  689. Then compile EPM, EXTRA, and BKEYS. 
  690.  
  691. If you want EBOOKIE to be included into EPM, which as the advantage of faster 
  692. loading, you have to add the following line to your MYCNF.E:. 
  693.  
  694. WANT_EBOOKIE = 1
  695.  
  696. Then compile EPM and EXTRA. 
  697.  
  698.  
  699. ΓòÉΓòÉΓòÉ 3.2. Installing EBOOKIE2 With EOS2 ΓòÉΓòÉΓòÉ
  700.  
  701. To install EBOOKIE with EOS2 you have to set some configuration options, and 
  702. compile the editor and EBOOKIE: 
  703.  
  704.  1. Edit your MYCNF.E (or create a new one), and add the following line: 
  705.  
  706.         WANT_EBOOKIE = 'DYNALINK'
  707.  
  708.  2. Rename the file MYMAIN.413 to MYMAIN.E, or add the contents of MYMAIN.413 
  709.     to MYMAIN.E. 
  710.  
  711.  3. Compile the editor and EBOOKIE: 
  712.  
  713.         ET E
  714.         ET BKEYS
  715.  
  716. You may now test your installation using the procedure outlined in Verifying 
  717. the Installation. 
  718.  
  719. Note:  You may also include EBOOKIE in your main EOS2 definitions, but i don't 
  720. recommend it, because you only have 64KB in E.EX, and usually you are running 
  721. short of space. 
  722.  
  723.  
  724. ΓòÉΓòÉΓòÉ 3.3. Verifying the Installation ΓòÉΓòÉΓòÉ
  725.  
  726. You may now try EBOOKIE. Just edit a file with the command: 
  727.  
  728. epm test.scr
  729.  
  730. and you should receive the following message from EBOOKIE: 
  731.  
  732. Initializing tag support, creating tag index, please wait...
  733.  
  734. This means that EBOOKIE is active and correctly installed. Please note that you 
  735. will see this message only once, unless you change the tag definition files. 
  736. You may also notice that the first line of the file now contains the EBOOKIE 
  737. "footprint", a line which looks like: 
  738.  
  739. .* EBOOKIE (BKMTAGS.DEF)
  740.  
  741. This means that EBOOKIE is active for this file, and that you are using the 
  742. definitions for BookMaster, which are located in the file BKMTAGS.DEF. When you 
  743. save this file, and edit it again, EBOOKIE will know how to process it. 
  744.  
  745.  
  746. ΓòÉΓòÉΓòÉ 4. EBOOKIE PACKAGE Contents ΓòÉΓòÉΓòÉ
  747.  
  748. The EBOOKIE package consists of the following files: 
  749.  
  750. EBOOKIE PACKAGE         The package header file. 
  751.  
  752. EBOOKIE DOCUMENT        A short description, and installation instructions 
  753.  
  754. EBOOKIE EXEBIN          The executables and the data files. This file has to be 
  755.                         downloaded in binary as EBOOKIE.EXE and processed by 
  756.                         simply running it. All files should go into the 
  757.                         directory where EPM resides. It expands to the 
  758.                         following: 
  759.  
  760.    BKEYS.E                 The key processing macro. 
  761.  
  762.    MYCNF.XMP               An example of a user configuration file. This file 
  763.                            can be used as an example of your MYCNF.E file and 
  764.                            contains basically my private setup of E3, EOS2, and 
  765.                            EPM. 
  766.  
  767.    MYMAIN.413              You need this file only if you want to use EBOOKIE 
  768.                            with EOS2. 
  769.  
  770.    BKEYS.550               The key processing macro compiled for EPM version 
  771.                            5.50. 
  772.  
  773.    BKEYS.551               The key processing macro compiled for EPM version 
  774.                            5.51. 
  775.  
  776.    APAFOIL.DEF             A tag definition file for APAFOIL. (APAFOIL is a 
  777.                            foils package available on TXTTOOLS). 
  778.  
  779.    APAFONT.SKL             The ":font." tag of APAFOIL. 
  780.  
  781.    APAFSET.SKL             Stuff which is included if you type the ":foilset." 
  782.                            tag. 
  783.  
  784.    APAGDOC.SKL             A sample foils document layout for APAFOIL. It is 
  785.                            included when you type the ":gdoc." tag. 
  786.  
  787.    BKMTAGS.DEF             This file contains all BookMaster tags with the 
  788.                            defaults. 
  789.  
  790.    BKMTAGS.437             A symbol file for BookMaster and codepage 437 (the 
  791.                            "PC" codepage). 
  792.  
  793.    BKMTAGS.850             A symbol file for BookMaster and codepage 850 (the 
  794.                            "international" codepage). 
  795.  
  796.    BKMTAGS.INF             The help file for BookMaster tags used under EPM 
  797.                            (the alt_h command). You may delete this file is you 
  798.                            don't use EPM. 
  799.  
  800.    BKMTAGS.HLP             The help file for BookMaster tags used by the Ctrl_h 
  801.                            (help) command. This file is required if you use 
  802.                            EOS2 or E3, and optional if you use EPM (where you 
  803.                            may use the alt_h command to get help). 
  804.  
  805.    EBOOKIE.INF             The online version of the EBOOKIE User's Guide. 
  806.  
  807.    FOILSDOC.SKL            A sample foils document layout which is included 
  808.                            when the ":gdoc." or ":foildoc" tag is typed. 
  809.  
  810.    FOILS5.DEF              This file contains all FOILS5 tags in GML notation 
  811.                            with the defaults. 
  812.  
  813.    GMLTAGS.DEF             This file contains all GML Starter-Set tags with the 
  814.                            defaults. 
  815.  
  816.    IPFTAGS.DEF             This file contains all GML Starter-Set tags with the 
  817.  
  818.    USERDOC.SKL             A sample document layout which is included when 
  819.                            BookMaster formatting is selected, and a :userdoc 
  820.                            tag is typed. 
  821.  
  822.    ZDOCPROF.SKL            A file which contains the ":zdocprof." tag 
  823.                            definition. 
  824.  
  825.    ZSTYLE.SKL              A file which contains a BookMaster style template. 
  826.  
  827.  
  828. ΓòÉΓòÉΓòÉ 5. Changing the Defaults ΓòÉΓòÉΓòÉ
  829.  
  830. EBOOKIE is designed for great flexibility. Things that can be tailored include: 
  831.  
  832. o the tag definition files, where you can: 
  833.  
  834.    - define the tag delimiters, and end-tag characters 
  835.  
  836.    - define the tag you want to have inserted when you press the "alt_2" key 
  837.  
  838.    - define the name of the symbol file 
  839.  
  840.    - add new tags 
  841.  
  842.    - remove tags you don't want to use 
  843.  
  844.    - change the defaults of standard tags (required and optional parameters, 
  845.      cursor position, etc.) 
  846.  
  847. o the name of the default tag definition file(s) 
  848.  
  849. o the number of lines which should be searched if the file extension does not 
  850.   indicate a tagged file, and the file doesn't contain the EBOOKIE footprint. 
  851.  
  852. o the editing margins 
  853.  
  854. o the dynamic margins feature 
  855.  
  856. o the behavior of the macro when invalid tags are found 
  857.  
  858. o the debugging support 
  859.  
  860. o the user-exits during page-up, page-down, up, down, or enter-key processing 
  861.  
  862. o the symbol support 
  863.  
  864. o the contents of the symbol file 
  865.  
  866. o the parameter expansion of the space key 
  867.  
  868. o the file extensions which trigger the activation of the support 
  869.  
  870. o the attribute support 
  871.  
  872. o the margin changes in E3 
  873.  
  874. o the index support 
  875.  
  876. o the cases of the index entries 
  877.  
  878. o the help support 
  879.  
  880. o the help files 
  881.  
  882. o the BookMaster reference support 
  883.  
  884. o the colors used by the attribute support 
  885.  
  886. o the default codepage for DOS versions below 3.3. 
  887.  
  888. The following chapters describe the procedures to change the various options. 
  889.  
  890.  
  891. ΓòÉΓòÉΓòÉ 5.1. Changing the Tag Definition File ΓòÉΓòÉΓòÉ
  892.  
  893. The following section describes how you can change the formatting of every tag. 
  894. All tags are defined in tag definition files. EBOOKIE currently supplies five 
  895. definition files: 
  896.  
  897. o bkmtags.def for BookMaster 
  898.  
  899. o gmltags.def for GML Starter-Set. 
  900.  
  901. o foils5.def for FOILS5. 
  902.  
  903. o apafoil.def for APAFOIL. 
  904.  
  905. o ipftags.def for IPF. 
  906.  
  907. You should not change those files. If you want to add some tags, or change the 
  908. defaults provided for some tags, you may create you own tag definition file. 
  909. These files consists of two parts. The first line is the "configuration" line, 
  910. the rest of the file describes the tags. 
  911.  
  912. In the configuration line you can define: 
  913.  
  914. o The tag-start delimiter (":" in BookMaster, GML Starter-Set, IPF, and FOILS5, 
  915.   "<" in SGML). 
  916.  
  917. o The tag-end delimiter ("." in BookMaster, GML Starter-Set, IPF, and FOILS5, 
  918.   ">" in SGML). 
  919.  
  920. o The end-tag header (":e" in BookMaster, GML Starter-Set, IPF, and FOILS5, 
  921.   "</" in SGML). 
  922.  
  923. o The default for the "alt_2" key. 
  924.  
  925. o The variable which should be used to replace the tag-start character if the 
  926.   typed text is not a valid tag. 
  927.  
  928. o The name of the symbols file. 
  929.  
  930. The format of this line is: 
  931.  
  932. * EBOOKIE tag_start= tag_end= end_tag= a_2= invalid= symbols=
  933.  
  934. The parameters have the following meaning: 
  935.  
  936. tag_start The character which defines the start of a tag. In BookMaster, GML 
  937.           Starter-Set, IPF, and FOILS5, this must be ":". 
  938.  
  939. tag_end   The character which defines the end of a tag. In BookMaster, GML 
  940.           Starter-Set, IPF, and FOILS5, this must be ".". 
  941.  
  942. end_tag   The character sequence which defines an end-tag. This usually is a 
  943.           tag_start character followed by one additional character. In 
  944.           BookMaster, GML Starter-Set, IPF, and FOILS5 this must be ":e". 
  945.  
  946. a_2       The key sequence (usually a tag) which is inserted into your text 
  947.           when you press the "alt_2" key before you have used a tag which 
  948.           assigns something to this key. The supplied default for BookMaster, 
  949.           GML Starter-Set, IPF, and FOILS5 is ":p". 
  950.  
  951. invalid   The variable which should be inserted in the text instead of the 
  952.           tag_start character when an invalid tag has been typed. In BookMaster 
  953.           this is "&colon.", in GML Starter-Set and FOILS5 this is "&gml.". 
  954.  
  955. symbols   The name of a file without extension which contains the symbol 
  956.           definitions (refer to Changing the Symbol Definition File for the 
  957.           layout of this file). The extension depends on the codepage which was 
  958.           in use at the time the editor was started. 
  959.  
  960.  1. The variables may be specified in any order. 
  961.  
  962.  2. The keywords must be in lower case, exactly as shown above. 
  963.  
  964.  3. The keywords must be immediately followed by an equal sign ("="), no space 
  965.     allowed. (For example: "a_2=:p." is correct, "a_2 =:p." is not valid). 
  966.  
  967.  4. The variables: 
  968.  
  969.    o tag_start 
  970.  
  971.    o tag_end 
  972.  
  973.    o end_tag 
  974.  
  975.     must be defined in the first (the "primary") definition file. They are 
  976.     ignored when they are specified in an additional tag definition file. 
  977.  
  978.  5. If one of the variables is left blank, or is not defined in the primary 
  979.     definition file, a default is assumed. For BookMaster and IPF those 
  980.     defaults are: 
  981.  
  982.         * EBOOKIE tag_start=: tag_end=. end_tag=:e a_2=:p. invalid=&colon. symbols=bkmtags
  983.  
  984.     The defaults for GML Starter-Set are: 
  985.  
  986.         * EBOOKIE tag_start=: tag_end=. end_tag=:e a_2=:p. invalid=&gml. symbols=
  987.  
  988.     The defaults for FOILS5 and APAFOIL are: 
  989.  
  990.         * EBOOKIE tag_start=: tag_end=. end_tag=:e a_2=:li. invalid=&gml. symbols=
  991.  
  992.  6. To override the defaults you have to create an additional tag definition 
  993.     file, and set the variables accordingly. 
  994.  
  995.  7. If the configuration line is omitted, EBOOKIE uses the shown defaults. 
  996.  
  997. The second part of the tag definition file contains one line for each tag. The 
  998. format of the tag definition lines is shown below. 
  999.  
  1000. :tag flag required + common + all || after || before || a_2
  1001.  
  1002. where: 
  1003.  
  1004. tag       The tag, starting with the tag-start character, but without the 
  1005.           tag-end character. 
  1006.  
  1007. The following parameters are optional. If they are not present, the support 
  1008. assumes that it is a type 1 tag. Refer to Type 1 Tags for formatting 
  1009. information. 
  1010.  
  1011. flag      This flag determines the formatting. It corresponds with the types of 
  1012.           tags defined in Formatting Examples. 
  1013.  
  1014.    1         The tag is always moved to a new line. If there is text after the 
  1015.              tag, the line is reflowed. 
  1016.  
  1017.    2         The tag is always moved to a new line. If there is text after the 
  1018.              tag, it is moved with the tag, and positioned after the tag. 
  1019.  
  1020.    3         The tag, and the optional end-tag are supposed to be on the same 
  1021.              line. If there is text to the right of the tag, it is imbedded 
  1022.              within the start and end-tag. If there is no end tag, the tag 
  1023.              remains where it is. If the tag was entered on a new and empty 
  1024.              line, the end-tag is created on a separate line, and one empty 
  1025.              line is created in the middle between the tags. 
  1026.  
  1027.    4         The tag is always inserted in a new line (same behavior as if the 
  1028.              flag is "1"). The data defined after the first "||" delimiter 
  1029.              represent a file name. This file is inserted in the lines 
  1030.              following the tag. The path to the file is defined in the 
  1031.              E(PM)PATH, the PATH (in DOS) or the DPATH (in OS/2). 
  1032.  
  1033.    5         Same as if the flag is "4", except that the tag itself is not 
  1034.              inserted into your text. This can be useful to include standard 
  1035.              text or tag constructs into your document. 
  1036.  
  1037.    -         This flag can be used to remove a tag from the list. If you want 
  1038.              to disable a tag defined in the master definition file, you just 
  1039.              have to define the tag in your user-definition file and set the 
  1040.              flag to "-". 
  1041.  
  1042.           Note:  If you add 10 to the flag, the tag will not be moved to column 
  1043.                  1, it will stay in the column where it has been typed. 
  1044.  
  1045. required  The required parameters. They are always inserted in the text. 
  1046.  
  1047. +         The delimiter to the common optional parameters. 
  1048.  
  1049. common    The common optional parameters. They are inserted only when you press 
  1050.           the space bar. 
  1051.  
  1052. +         The delimiter to all optional parameters. 
  1053.  
  1054. all       Additional parameters. They are inserted only when the user has 
  1055.           pressed the "c_space" key in EPM, or the "c_enter" key in EOS2 and 
  1056.           E3. 
  1057.  
  1058. ||        First delimiter (double vertical line). 
  1059.  
  1060. after     Those tags are inserted in the line(s) after the starting tag. A "\" 
  1061.           is interpreted as a carriage return. If the flag is 4, this parameter 
  1062.           contains the name of a file which is inserted after the tag. Look at 
  1063.           the definition of the :userdoc. tag in the file BKMTAGS.DEF for an 
  1064.           example. If the text starts with a percent sign ("%"), it is 
  1065.           considered to be a file name which will be included exactly at this 
  1066.           point (example: "%filename.ext", no space between the percent and the 
  1067.           file name). 
  1068.  
  1069. ||        Second delimiter (double vertical line). 
  1070.  
  1071. before    Those tags are inserted in the line(s) before the starting tag. A "\" 
  1072.           is interpreted as a carriage return. The cursor can not be positioned 
  1073.           in this area. If you want to pull a file into your text, you have to 
  1074.           start the file name with a percent sign. 
  1075.  
  1076. ||        Third delimiter (double vertical line). 
  1077.  
  1078. a_2       Text or tags which will be inserted, and interpreted when the "a_2" 
  1079.           key is pressed. If the tag ends with a colon, the tag is processed as 
  1080.           if you have pressed the colon key, if it doesn't, the tag is 
  1081.           processed as if the you have pressed the space bar. That means that 
  1082.           the common optional parameters of the tag (if any) are also included 
  1083.           into your text. 
  1084.  
  1085. The cursor position can be controlled with the "#" or "@" characters. If there 
  1086. are required or optional parameters, the cursor is always positioned in the 
  1087. line where the tag is, except the lines which should be inserted after the tag 
  1088. contain a "@" character to position the cursor. In this case the cursor will 
  1089. not be positioned in the tag-line, but in the line which contains the "@". If 
  1090. required parameters are present, the cursor position should be defined on a 
  1091. required parameter. If no parameters are inserted, the additional tags after 
  1092. the main tag are checked for the cursor position. The cursor can not be 
  1093. positioned on text before the tag, and on lines which have been pulled from a 
  1094. file. If no cursor position can be determined (no "#" or "@" character found), 
  1095. the cursor is positioned after the ending period of the tag. 
  1096.  
  1097. To activate your new definitions, you can use the "bookief" command. Please 
  1098. note that EBOOKIE might have already set the name of the definition files in 
  1099. your document. You will have to use the "bookief" command for every file you 
  1100. have edited before. If you want to set the default for all new files, you have 
  1101. to use the procedure described in Changing the Name of the Default Tag 
  1102. Definition Files. 
  1103.  
  1104. If you didn't specify a path, EBOOKIE uses the following search path for the 
  1105. tag definition files: 
  1106.  
  1107.  1. The "EPATH" in EOS2 and E3, or the "EPMPATH" in EPM. 
  1108.  
  1109.  2. The "DPATH" in EPM and EOS2, or the "PATH" in E3. 
  1110.  
  1111.  
  1112. ΓòÉΓòÉΓòÉ 5.1.1. Example ΓòÉΓòÉΓòÉ
  1113.  
  1114. Let's make one example. The BookMaster definition file "bkmtags.def" defines 
  1115. the ":dt." tag to do the following: 
  1116.  
  1117. :dt.:dd.
  1118.  
  1119. with the cursor positioned in the middle between the two tags. But you want the 
  1120. formatting result look like: 
  1121.  
  1122. :dt.
  1123. :dd.
  1124.  
  1125. with the cursor positioned after the ":dt" tag, and to assign the tag ":dt." to 
  1126. the "alt-2" key. You could now change the BKMTAGS.DEF file, but this is not 
  1127. recommended, because a new version of EBOOKIE would replace this file. 
  1128. Therefore you should decide to create your own definition file called MY.DEF 
  1129. with the following contents: 
  1130.  
  1131. :dt 1 .# || :dd. || || :dt.
  1132.  
  1133. and save it in the same directory as BKMTAGS.DEF. Now the only thing you have 
  1134. to do is to edit a tagged file, and type the command: 
  1135.  
  1136. bookief bkmtags.def my.def
  1137.  
  1138. in the command line. The index will be re-built, and the first line of the file 
  1139. will be changed to: 
  1140.  
  1141. .* EBOOKIE (BKMTAGS.DEF MY.DEF)
  1142.  
  1143. Do not delete this line. When you save the file, and edit it again, this line 
  1144. is read, and both tag definition files will be used. 
  1145.  
  1146. The following example describes the parameter insertion. Let's work with the 
  1147. ":h1" tag. It is defined as: 
  1148.  
  1149. :h1 1 + id=# + initpg= num= pnkey= stitle= subjart= subject= topicid= topicsel=.
  1150.  
  1151. If you type a period, or press the enter key, it expands to: 
  1152.  
  1153. :h1.
  1154.  
  1155. with the cursor after the ending period. If you press the space bar it expands 
  1156. to: 
  1157.  
  1158. :h1 id=.
  1159.  
  1160. with the cursor before the ending period. Only if you press the c_space key in 
  1161. EPM, or the c_enter key in EOS2 and E3, it expands all parameters to: 
  1162.  
  1163. :h1 id= initpg= num= pnkey= stitle= subjart= subject= topicid= topicsel=.
  1164.  
  1165. with the cursor positioned after the "id=" parameter. If you want to change the 
  1166. definition to always display the "id=" parameter, you would have to change the 
  1167. definition to: 
  1168.  
  1169. :h1 1 id=# + + initpg= num= pnkey= stitle= subjart= subject= topicid= topicsel=.
  1170.  
  1171. The following example shows how to pull one or more files into your text. Let's 
  1172. assume you want to create a tag called ":mytag." which includes a file before 
  1173. and after the tag. You could define it as follows: 
  1174.  
  1175. :mytag 1 req=# + opt= + moreopt=. || after1\%after.fil\after2 || before1\%before.fil\before2
  1176.  
  1177. Now let's assume that the contents of the file AFTER.FIL is: 
  1178.  
  1179. This line comes from the file AFTER.FIL.
  1180.  
  1181. and the file BEFORE.FIL contains: 
  1182.  
  1183. This line comes from the file BEFORE.FIL.
  1184.  
  1185. Now the :mytag. tag would produce the following results: 
  1186.  
  1187. before1
  1188. This line comes from the file BEFORE.FIL.
  1189. before2
  1190. :mytag req=.
  1191. after1
  1192. This line comes from the file AFTER.FIL.
  1193. after2
  1194.  
  1195. The cursor would be positioned before the colon in the line which contains the 
  1196. tag, and inserting would be turned on. 
  1197.  
  1198.  
  1199. ΓòÉΓòÉΓòÉ 5.2. Changing the Name of the Default Tag Definition Files ΓòÉΓòÉΓòÉ
  1200.  
  1201. The default tag definition file is used when you: 
  1202.  
  1203. o create a new file 
  1204.  
  1205. o edit a tagged file which has not been edited using EBOOKIE before 
  1206.  
  1207. o have deleted the "footprint" of EBOOKIE. 
  1208.  
  1209. To change the name of the default tag definition files you have to do the 
  1210. following: 
  1211.  
  1212.  1. Edit the file MYCNF.E and add the following line in the "CONST" section: 
  1213.  
  1214.         my_bkm_def_file='tag_definition_files'
  1215.  
  1216.     where the field "tag_definition_files" contains a list of up to ten files 
  1217.     separated by blanks, for example: 
  1218.  
  1219.         my_bkm_def_file='bkmtags.def my.def'
  1220.  
  1221.     The first file in this list should be the one which includes all tag 
  1222.     definitions. The other files can be used to override the defaults, or add 
  1223.     non-standard tags. 
  1224.  
  1225.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1226.     change the constants in this file. 
  1227.  
  1228.  2. Now you have to compile the editor. Refer to Compiling the Tag Support for 
  1229.     information about the compiling process. 
  1230.  
  1231.  
  1232. ΓòÉΓòÉΓòÉ 5.3. Define Definition Files for Specific Extensions ΓòÉΓòÉΓòÉ
  1233.  
  1234. When you edit a new file, or a file which hasn't been processed by EBOOKIE yet, 
  1235. the default definition file name is associated with the file. However, some 
  1236. times it might be desireable to use a specific definition file for a specific 
  1237. extension. For example, you want the default definition file to be for 
  1238. BookMaster, but if the extension is ".FOI" you want the default to be for 
  1239. FOILS5. 
  1240.  
  1241. You may associate different default definition files with the extensions of the 
  1242. file. This is done by modifying the "my_bkm_ext_def=" constant in "MYCNF.E". 
  1243.  
  1244. To change the name of the default tag definition files you have to do the 
  1245. following: 
  1246.  
  1247.  1. Edit the file MYCNF.E and add the following line in the "CONST" section: 
  1248.  
  1249.         my_bkm_ext_def='ext=def_file ext=def_file ....'
  1250.  
  1251.     where "ext=" is the extension, and "def_file" the definition file which 
  1252.     will be associated with this extension. If more than one definition file is 
  1253.     associated with an extension, code the file names between double quotes. 
  1254.     For example: 
  1255.  
  1256.         my_bkm_ext_def='scr="bkmtags.def my.def" foi=foils5.def'
  1257.  
  1258.     Please note that the definition file name has to include the extension (the 
  1259.     ".def" in the above example). 
  1260.  
  1261.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1262.     change the constants in this file. 
  1263.  
  1264.  2. Now you have to compile the editor. Refer to Compiling the Tag Support for 
  1265.     information about the compiling process. 
  1266.  
  1267.  
  1268. ΓòÉΓòÉΓòÉ 5.4. Changing the Number of Lines Searched ΓòÉΓòÉΓòÉ
  1269.  
  1270. When a file is loaded into the ring, EBOOKIE tries to find out what it should 
  1271. do with it. First it reads the first lines of the file, as long as they are DCF 
  1272. comment lines. If one of those lines contains: 
  1273.  
  1274. .* EBOOKIE (something)
  1275.  
  1276. EBOOKIE assumes that it is a tagged file, and uses the information between the 
  1277. brackets to find the tag definition files. 
  1278.  
  1279. If no footprint is found, EBOOKIE checks the extension of the file. If the 
  1280. extension does not indicate a tagged file, EBOOKIE tries to locate a valid tag 
  1281. within a certain number of lines in the file. And this number of lines can be 
  1282. configured using the following procedure: 
  1283.  
  1284.  1. Edit the file MYCNF.E 
  1285.  
  1286.  2. Change the line: 
  1287.  
  1288.         my_bkm_search=0
  1289.  
  1290.     to whatever you think is appropriate. If you specify 0, which is the 
  1291.     default, the file is not searched at all. If you specify a value greater 
  1292.     than zero, a minimum value of 10 is assumed. A reasonable value is 100. 
  1293.  
  1294.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1295.     change the constants in this file. 
  1296.  
  1297.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1298.  
  1299.  
  1300. ΓòÉΓòÉΓòÉ 5.5. Changing the Margins ΓòÉΓòÉΓòÉ
  1301.  
  1302. When the tag support is started for a file, the margins are set to the default 
  1303. of "1 70 1". If this is not convenient for you, you can change the default 
  1304. margins with the following procedure: 
  1305.  
  1306.  1. Edit the file MYCNF.E 
  1307.  
  1308.  2. Change the line: 
  1309.  
  1310.         my_bkm_margins='1 70 1'
  1311.  
  1312.     to whatever you think is appropriate. 
  1313.  
  1314.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1315.     change the constants in this file. 
  1316.  
  1317.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1318.  
  1319.  
  1320. ΓòÉΓòÉΓòÉ 5.6. Changing the Dynamic Margins ΓòÉΓòÉΓòÉ
  1321.  
  1322. As it was said before, the margins are set to a default value, most suitable 
  1323. for entering text. However, some language constructs might require a different 
  1324. margin, for example :cgraphic. or :xmp.. A feature of EBOOKIE is to change the 
  1325. margins dynamically when it finds such tags, and resets it back to the default 
  1326. when the cursor is leaving the construct. Because this feature has a negative 
  1327. impact on performance, it is optional. If you want to activate it, you have to 
  1328. define the tags which trigger the change in margins. Usually this are the 
  1329. following tags: 
  1330.  
  1331. o :xmp. 
  1332.  
  1333. o :fig. 
  1334.  
  1335. o :cgraphic. 
  1336.  
  1337. You may add or remove tags from this list. If you want to add some more tags, 
  1338. please make be sure that: 
  1339.  
  1340. o they have an end-tag 
  1341.  
  1342. o are type 1 or 2 tags. 
  1343.  
  1344. To configure this support you have to do the following: 
  1345.  
  1346.  1. Edit the file MYCNF.E 
  1347.  
  1348.  2. Change the line: 
  1349.  
  1350.         my_bkm_tags_between=''
  1351.  
  1352.     to: 
  1353.  
  1354.         my_bkm_tags_between=':xmp :cgraphic :fig'
  1355.  
  1356.     or whatever you think is appropriate. 
  1357.  
  1358.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1359.     change the constants in this file. 
  1360.  
  1361.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1362.  
  1363.  
  1364. ΓòÉΓòÉΓòÉ 5.7. Changing the Handling of Invalid Tags ΓòÉΓòÉΓòÉ
  1365.  
  1366. EBOOKIE checks the tag as it is typed against the list of allowed tags in the 
  1367. tag definition files. If the tag is not found in the list, the starting colon 
  1368. of the invalid tag is replaced by the variable defined in the tag definition 
  1369. file. This should be the normal operation mode. However, if you want to use 
  1370. non-standard tags, but didn't have the time to include them in a user-tag 
  1371. definition file, you may change the handling of the invalid tags using the 
  1372. following procedure: 
  1373.  
  1374.  1. Edit the file MYCNF.E. 
  1375.  
  1376.  2. Change the line: 
  1377.  
  1378.         my_bkm_repl_colon=1
  1379.  
  1380.     to: 
  1381.  
  1382.    0         Leave the tag as-is, even if the tag is not defined in the tag 
  1383.              definition file. 
  1384.  
  1385.    1         Replace the colon of the invalid tag with the variable "&gml.", 
  1386.              this is the default. 
  1387.  
  1388.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1389.     change the constants in this file. 
  1390.  
  1391.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1392.  
  1393. To achieve the same function, you may also create an additional tag definition 
  1394. file and insert the following in the first line of this file: 
  1395.  
  1396. * EBOOKIE invalid=
  1397.  
  1398. This doesn't remove the feature from the definitions, but has the same effect. 
  1399. The advantage of doing it this way is that the removal is tag definition file 
  1400. specific, the disadvantage is that the size of the macro is not reduced, which 
  1401. could be an important factor in E3. 
  1402.  
  1403.  
  1404. ΓòÉΓòÉΓòÉ 5.8. Including the Debugging Support ΓòÉΓòÉΓòÉ
  1405.  
  1406. EBOOKIE contains some debugging features, which are inactive by default when 
  1407. the macro is compiled into the main macro file. If EBOOKIE is compiled as an 
  1408. externally linkable module, debugging is included by default. If you want to 
  1409. include or remove the debugging code of EBOOKIE you have to use the following 
  1410. procedure: 
  1411.  
  1412.  1. Edit the file MYCNF.E. 
  1413.  
  1414.  2. Change the line: 
  1415.  
  1416.         my_bkm_debugging=0
  1417.  
  1418.     to: 
  1419.  
  1420.    0         No debugging included. 
  1421.  
  1422.    1         Debugging included. 
  1423.  
  1424.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1425.     change the constants in this file. 
  1426.  
  1427.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1428.  
  1429.  
  1430. ΓòÉΓòÉΓòÉ 5.9. Adding a User-exit to Page-up/down, Up, Down or Enter ΓòÉΓòÉΓòÉ
  1431.  
  1432. EBOOKIE allows you to configure a user-exit which is called during page-up, 
  1433. page-down, cursor-up, cursor-down processing. The name of the routines called 
  1434. are: 
  1435.  
  1436. my_page_up()
  1437. my_page_down()
  1438. my_up()
  1439. my_down()
  1440. my_enter_key()
  1441.  
  1442. They page-up and page-down routines are called before EBOOKIE processes the 
  1443. request, therefore they must perform the following actions: 
  1444.  
  1445.  1. Do the required function (up or down). 
  1446.  
  1447.  2. Make the new line the "current" line (i.e. the ".line" variable must be set 
  1448.     correctly). 
  1449.  
  1450.  3. Return to the caller. 
  1451.  
  1452. There are no restrictions for the routine "my_enter_key()", except that it must 
  1453. return to the caller. This routine is called after EBOOKIE has done its stuff. 
  1454.  
  1455. To include the user-exit interface you must do the following: 
  1456.  
  1457.  1. Edit the file MYCNF.E. 
  1458.  
  1459.  2. Change the line: 
  1460.  
  1461.         my_bkm_page_up=0
  1462.         my_bkm_page_down=0
  1463.         my_bkm_line_up=0
  1464.         my_bkm_line_down=0
  1465.         my_bkm_enter=0
  1466.  
  1467.     to: 
  1468.  
  1469.    0         Don't call the user exit. 
  1470.  
  1471.    1         Call the user exit. 
  1472.  
  1473.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1474.     change the constants in this file. 
  1475.  
  1476.  3. Move all  user exits to a file called MYBKMKEY.E. You may either rename 
  1477.     your ".e" file to this name, or create the file MYBKMKEY.E with the 
  1478.     following contents: 
  1479.  
  1480.         include 'the_name_of_your_page_up_macro'
  1481.         include 'the_name_of_your_page_down_macro'
  1482.         include 'the_name_of_your_enter_key_macro'
  1483.  
  1484.  4. Compile the support following the procedure in Compiling the Tag Support. 
  1485.     Your macros will be included automatically. 
  1486.  
  1487.  
  1488. ΓòÉΓòÉΓòÉ 5.10. Replacing Keys with BookMaster Symbols ΓòÉΓòÉΓòÉ
  1489.  
  1490. A feature of EBOOKIE allows you to replace special keys with the corresponding 
  1491. BookMaster symbols. The name of the file is defined in the tag definition file, 
  1492. the extension is determined by the current codepage. To remove the support you 
  1493. have to do the following: 
  1494.  
  1495.  1. Edit the file MYCNF.E. 
  1496.  
  1497.  2. Change the line: 
  1498.  
  1499.         my_bkm_want_symbols=1
  1500.  
  1501.     to: 
  1502.  
  1503.    0         Don't replace keys with symbols. 
  1504.  
  1505.    1         Replace keys with symbols. 
  1506.  
  1507.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1508.     change the constants in this file. 
  1509.  
  1510.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1511.  
  1512. You may also remove the feature by creating a new tag definition file, where 
  1513. the first line reads: 
  1514.  
  1515. * EBOOKIE symbols=
  1516.  
  1517. This results the symbol support being deactivated for this set of tag 
  1518. definition files. 
  1519.  
  1520.  
  1521. ΓòÉΓòÉΓòÉ 5.11. Changing the Symbol Definition File ΓòÉΓòÉΓòÉ
  1522.  
  1523. The symbol definition file is structured into two parts. The first part is only 
  1524. one line long, and contains all keys which should not be touched. The second 
  1525. part contains one line for each ASCII code (from X'01' to X'FE'). When the tag 
  1526. support is started EBOOKIE generates an internal table which contains all 
  1527. characters for which you have defined a symbol in the second part of the file, 
  1528. except for those which are listed in the first part of the file. When a key is 
  1529. pressed on the keyboard, EBOOKIE searches the symbol table. If the keycode is 
  1530. not found, the character is displayed on the screen without any further 
  1531. processing. When the character is found, EBOOKIE checks the symbol file (which 
  1532. is in a hidden file in the ring), and replaces the character with the 
  1533. appropriate BookMaster symbol. This technique with the "don't touch" table has 
  1534. been adopted, because you might want to type some keys which do have a 
  1535. BookMaster symbol associated with it, without replacing it with the symbol when 
  1536. you type it. For example, the "," character is defined as "&comma.", but 
  1537. usually you would not want the character to be replaced by the symbol. 
  1538.  
  1539. If you want to change the symbol file you can go ahead and edit it like any 
  1540. other file, as long as you don't change the structure or the size of the file. 
  1541. Do not add or remove any lines of the file. 
  1542.  
  1543. There are two symbol files supplied with EBOOKIE, one for codepage 850, and one 
  1544. for codepage 437. Both files are designed to work with BookMaster. The name of 
  1545. the file is defined in the first line of the tag definition file, the extension 
  1546. depends on the active codepage at the time the editor was started. 
  1547.  
  1548. Usually you would only add or remove some characters from the first line, which 
  1549. contains the "don't touch" characters. After you have edited the symbol file, 
  1550. exit from the editor, and start the editor again. EBOOKIE will then use the new 
  1551. symbol file. 
  1552.  
  1553. If you want to create a symbol table for a different codepage you should: 
  1554.  
  1555.  1. copy one of the supplied symbol files to a file with the name: 
  1556.  
  1557.         name.codepage
  1558.  
  1559.     where "name" is whatever you like (this name must be defined in the tag 
  1560.     definition file), and "codepage" is the number of the codepage which will 
  1561.     be active when you start the editor. 
  1562.  
  1563.  2. change the new file. 
  1564.  
  1565. This procedure insures that the file has the correct size and layout. To 
  1566. activate the new symbol file, you just have to start the editor again, after 
  1567. you have switched to the codepage for which you have created the symbol file. 
  1568.  
  1569.  
  1570. ΓòÉΓòÉΓòÉ 5.12. The Default Codepage ΓòÉΓòÉΓòÉ
  1571.  
  1572. The symbols support of EBOOKIE allows you to replace certain keys with symbols. 
  1573. In order to do this correctly, EBOOKIE has to know which codepage is active. 
  1574. This is donw by querying the operating system. DOS versions before 3.3 don't 
  1575. have codepage support, therefore EBOOKIE can not determine which codepage is 
  1576. active. You may, however, configure which symbols table should be used 
  1577. following this procedure: 
  1578.  
  1579.  1. Edit the file MYCNF.E. 
  1580.  
  1581.  2. Change or add the line: 
  1582.  
  1583.         my_bkm_codepage='???'
  1584.  
  1585.    ???       The codepage you want to use. This may be '850' or '734'. 
  1586.  
  1587.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1588.     change the constants in this file. 
  1589.  
  1590.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1591.  
  1592.  
  1593. ΓòÉΓòÉΓòÉ 5.13. Define the Space Key ΓòÉΓòÉΓòÉ
  1594.  
  1595. The parameter expansion is in three steps. The required parameters, the 
  1596. "usual", and "all" parameters. Usually the "space" key triggers the expansion 
  1597. of the "usual" parameters. If the space key should expand all parameters you 
  1598. have to do the following: 
  1599.  
  1600.  1. Edit the file MYCNF.E. 
  1601.  
  1602.  2. Change the line: 
  1603.  
  1604.         my_bkm_space_key='USUAL'
  1605.  
  1606.     to: 
  1607.  
  1608.    USUAL     The "space" key expands only the usual parameters. 
  1609.  
  1610.    ALL       The "space" key expands all parameters. 
  1611.  
  1612.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1613.     change the constants in this file. 
  1614.  
  1615.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1616.  
  1617.  
  1618. ΓòÉΓòÉΓòÉ 5.14. Changing the Default File Extensions ΓòÉΓòÉΓòÉ
  1619.  
  1620. When a file is loaded into the ring, EBOOKIE tries to find out what it should 
  1621. do with it. First it reads the first lines of the file to find the footprint. 
  1622. If no footprint is found, EBOOKIE checks the extension of the file. The default 
  1623. extensions which trigger the activation of the support are: 
  1624.  
  1625. SCR BKM SCT FOI IPF SCRIPT STYLE
  1626.  
  1627. If you want to add or remove some of the extensions, or if you want to suppress 
  1628. this checking at all, you have to use the following procedure: 
  1629.  
  1630.  1. Edit the file MYCNF.E 
  1631.  
  1632.  2. Change the line: 
  1633.  
  1634.         my_bkm_files='SCR BKM SCT FOI IPF SCRIPT STYLE'
  1635.  
  1636.     to whatever you think is appropriate. If you specify a blank, the 
  1637.     extensions are not checked at all. 
  1638.  
  1639.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1640.     change the constants in this file. 
  1641.  
  1642.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1643.  
  1644.  
  1645. ΓòÉΓòÉΓòÉ 5.15. Attribute Support for EPM ΓòÉΓòÉΓòÉ
  1646.  
  1647. EBOOKIE supports the COLORCLASS of EPM attribute classes. When the attribute 
  1648. support is configured all tags you type are highlighted, except those which are 
  1649. pulled from a file. One additional command ("bkmattr")  allows you to highlight 
  1650. all tags of the current file. Please note that this command has to find all 
  1651. tags in your file, it therefore takes a long time for large files! If you save 
  1652. the file, the attributes are lost. 
  1653.  
  1654. To include the attribute support in EBOOKIE, which is not included in the 
  1655. default configuration, you have to do the following: 
  1656.  
  1657.  1. Edit the file MYCNF.E. 
  1658.  
  1659.  2. Change or add the line: 
  1660.  
  1661.         my_bkm_attr=1
  1662.  
  1663.    1         The attribute support will be included. 
  1664.  
  1665.    0         The attribute support will not be included (the default). 
  1666.  
  1667.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1668.     change the constants in this file. 
  1669.  
  1670.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1671.  
  1672.  
  1673. ΓòÉΓòÉΓòÉ 5.16. Margin Changes in E3 ΓòÉΓòÉΓòÉ
  1674.  
  1675. The E3 editor supports the margin setting in a different way as EPM or EOS2. 
  1676. While in EOS2 or EPM the margins are set for each file in the ring separately, 
  1677. E3 sets the margins for all files. EBOOKIE resets the margins for script file 
  1678. to "1 70 1", or what you have specified in "my_bkm_margin". When you switch to 
  1679. a file which is not controlled by EBOOKIE, it resets the margins to the default 
  1680. value specified in the constant DEFAULT_MARGINS. In order to respect the margin 
  1681. setting of the user, EBOOKIE supports a flag which forces EBOOKIE not to change 
  1682. the margins. 
  1683.  
  1684. To force EBOOKIE to leave the margins alone you have to do the following: 
  1685.  
  1686.  1. Edit the file MYCNF.E. 
  1687.  
  1688.  2. Change or add the line: 
  1689.  
  1690.         my_bkm_dont_touch_margins=0
  1691.  
  1692.    1         EBOOKIE will not change the margins. 
  1693.  
  1694.    0         EBOOKIE controls the margins (the default). 
  1695.  
  1696.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1697.     change the constants in this file. 
  1698.  
  1699.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1700.  
  1701. Note:  If you have configured "dynamic margins" and have set the 
  1702.        "my_bkm_dont_touch_margins" to "1", you will receive an error message 
  1703.        during compilation, because those options are conflicting. 
  1704.  
  1705.  
  1706. ΓòÉΓòÉΓòÉ 5.17. The Index Support ΓòÉΓòÉΓòÉ
  1707.  
  1708. EBOOKIE includes an index support, which may assist you in creating simple 
  1709. indices. 
  1710.  
  1711. To activate or deactivate the index support you have to do the following: 
  1712.  
  1713.  1. Edit the file MYCNF.E. 
  1714.  
  1715.  2. Change or add the line: 
  1716.  
  1717.         my_bkm_idx_supp=1
  1718.  
  1719.    1         Index support included (the default). 
  1720.  
  1721.    0         Index support not included. 
  1722.  
  1723.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1724.     change the constants in this file. 
  1725.  
  1726.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1727.  
  1728.  
  1729. ΓòÉΓòÉΓòÉ 5.18. The Cases of the Index ΓòÉΓòÉΓòÉ
  1730.  
  1731. The index entries created by EBOOKIE are usually folded to lower case. This is 
  1732. reasonable in languages like English, but not desired in for example German. 
  1733. You may specify if EBOOKIE should leave the cases untouched by doing the 
  1734. following: 
  1735.  
  1736.  1. Edit the file MYCNF.E. 
  1737.  
  1738.  2. Change or add the line: 
  1739.  
  1740.         my_bkm_keep_index_cases=1
  1741.  
  1742.    1         The cases of the index entries will not be touched. 
  1743.  
  1744.    0         The index entries will be folded to lower case, except the word is 
  1745.              all uppercase. This is the default. 
  1746.  
  1747.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1748.     change the constants in this file. 
  1749.  
  1750.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1751.  
  1752.  
  1753. ΓòÉΓòÉΓòÉ 5.19. The Help Support ΓòÉΓòÉΓòÉ
  1754.  
  1755. EBOOKIE includes a help support, which may assist during creating your 
  1756. document. 
  1757.  
  1758. To activate or deactivate the help support you have to do the following: 
  1759.  
  1760.  1. Edit the file MYCNF.E. 
  1761.  
  1762.  2. Change or add the line: 
  1763.  
  1764.         my_bkm_help_support=1
  1765.  
  1766.    1         Help support included (the default). 
  1767.  
  1768.    0         Help support not included. 
  1769.  
  1770.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1771.     change the constants in this file. 
  1772.  
  1773.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1774.  
  1775.  
  1776. ΓòÉΓòÉΓòÉ 5.20. The Help File ΓòÉΓòÉΓòÉ
  1777.  
  1778. EBOOKIE uses two different types of help files depending on the editor. If you 
  1779. are using EPM, the OS2 "VIEW" command is used to display the help information. 
  1780. If you want to create your own help file for EPM, please drop me a note. 
  1781.  
  1782. If you are using EOS2 or E3, the following applies. 
  1783.  
  1784. The help facility of EBOOKIE uses keywords in the help file to find the 
  1785. requested entry. All keywords must start in column one, the text related to 
  1786. this keyword must have at least one blank in front of the line. Keywords are 
  1787. delimited by one blank character, or an equal sign ("="). Here is an example: 
  1788.  
  1789. ACTSIZE='activities-size'\\
  1790.  Specifies the width of an activity column in a schedule.\
  1791.  Tag: SCHDATE, SCHDEF, SCHEDULE
  1792.  
  1793. The backslash characters ("\") are interpreted as control characters. They 
  1794. start a new line and are removed from the text. 
  1795.  
  1796. Duplicate keywords are allowed within the help file, but they have to be in 
  1797. sequence. 
  1798.  
  1799. The name of the help file is determined by the name of the primary tag 
  1800. definition file, the extension is ".HLP". For example, the help definition file 
  1801. for BookMaster is called BKMTAGS.HLP. This is the only help file currently 
  1802. supplied by EBOOKIE. 
  1803.  
  1804.  
  1805. ΓòÉΓòÉΓòÉ 5.21. The BookMaster Reference ΓòÉΓòÉΓòÉ
  1806.  
  1807. EBOOKIE includes a BookMaster reference document as a .INF file. This allows 
  1808. the OS/2 to view the BookMaster Reference summary. 
  1809.  
  1810. To activate or deactivate the reference support you have to do the following: 
  1811.  
  1812.  1. Edit the file MYCNF.E. 
  1813.  
  1814.  2. Change or add the line: 
  1815.  
  1816.         my_bkm_help_reference=1
  1817.  
  1818.    1         Reference support included (the default in OS/2). 
  1819.  
  1820.    0         Reference support not included. 
  1821.  
  1822.     If the file MYCNF.E doesn't exist, rename the file MYCNF.XMP to MYCNF.E and 
  1823.     change the constants in this file. 
  1824.  
  1825.  3. Compile the support following the procedure in Compiling the Tag Support. 
  1826.  
  1827.  
  1828. ΓòÉΓòÉΓòÉ 5.22. Colors for the Attribute Support ΓòÉΓòÉΓòÉ
  1829.  
  1830. If you have onfigured the attribute support available in EPM, you also have the 
  1831. option to define which forground and background colors to use. This is done by 
  1832. defining the 
  1833.  
  1834. my_bkm_attr_colors=
  1835. constant in MYCNF.E. The default is: 
  1836.  
  1837. my_bkm_attr_colors=92
  1838.  
  1839. which gives you a white text on a pink background. You may use the color 
  1840. definitions from "COLOR.E", which is supplied in the editor macros. 
  1841.  
  1842.  
  1843. ΓòÉΓòÉΓòÉ 5.23. Compiling the Tag Support ΓòÉΓòÉΓòÉ
  1844.  
  1845. Depending on how you want to include EBOOKIE (as an external module, or 
  1846. included into the main parts of the editor), you have to compil either two or 
  1847. three modules. 
  1848.  
  1849.  
  1850. ΓòÉΓòÉΓòÉ 5.23.1. Compiling EBOOKIE Externally ΓòÉΓòÉΓòÉ
  1851.  
  1852. To compile EBOOKIE as an externally loadable module it has to be defined into 
  1853. EPM as an external module. In order to do that you have to include the 
  1854. following line into your MYCNF.E: 
  1855.  
  1856. WANT_EBOOKIE = 'DYNALINK'
  1857.  
  1858. Then you have to compile EPM, EXTRA, and BKEYS with the commands: 
  1859.  
  1860. ETPM BKEYS
  1861. ETPM EPM
  1862. ETPM EXTRA
  1863.  
  1864. This compiles a new BKEYS.EX, which will be used the next time you start EPM. 
  1865.  
  1866. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1867. ΓöéImportant Note                                              Γöé
  1868. Γöé                                                            Γöé
  1869. Γöé                                                            Γöé
  1870. ΓöéSince EBOOKIE has some hooks into, and uses some of the     Γöé
  1871. Γöédefinitions of EPM, you always have to compile all three at Γöé
  1872. Γöéonce. Do noch change your confuguration of EPM, and compile Γöé
  1873. Γöéonly one or two of the files.                               Γöé
  1874. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1875.  
  1876.  
  1877. ΓòÉΓòÉΓòÉ 5.23.2. Compiling EBOOKIE Into EPM ΓòÉΓòÉΓòÉ
  1878.  
  1879. If you want EBOOKIE to be compiled into EPM, which has the advantage of faster 
  1880. loading, and removed the necessity of creating a PROFILE.ERX, you have to do 
  1881. the following: 
  1882.  
  1883.  1. Edit your MYCNF.E file, and add the following line: 
  1884.  
  1885.         WANT_EBOOKIE = 1
  1886.  
  1887.  2. Compile the editor with: 
  1888.  
  1889.         ETPM EPM
  1890.         ETPM EXTRA
  1891.  
  1892.     Note:  The ETPM EXTRA is only needed when you have EXTRA_EX = 1 in your 
  1893.     MYCNF.E. 
  1894.  
  1895.  3. Create a new PROFILE.ERX with the following contents: 
  1896.  
  1897.         /* */
  1898.         'link bkeys'
  1899.         'sayerror Profile processed'
  1900.  
  1901.     If you already have a PROFILE.ERX, add the line 
  1902.  
  1903.         'link bkeys'
  1904.  
  1905.     to this file. 
  1906.  
  1907.  4. Issue the EPM command PROFILE ON. From now on the file PROFILE.ERX is 
  1908.     executed whenever you start EPM, and with it EBOOKIE is started. 
  1909.  
  1910. For more information about the compiling process refer to the EPM User's Guide. 
  1911.  
  1912.  
  1913. ΓòÉΓòÉΓòÉ 6. EBOOKIE Messages ΓòÉΓòÉΓòÉ
  1914.  
  1915. All messages issued by EBOOKIE start with the prefix "EBOOKIE:". There are two 
  1916. types of messages: 
  1917.  
  1918. o error or notification messages 
  1919.  
  1920.   and 
  1921.  
  1922. o debugging messages. 
  1923.  
  1924. All messages which have an ellipses ("...") at the end have to be acknowledged 
  1925. with a keystroke. Debugging messages are only issued when debugging is 
  1926. configured. Refer to Including the Debugging Support for more information. 
  1927.  
  1928.  
  1929. ΓòÉΓòÉΓòÉ 6.1. Error or Notification Messages ΓòÉΓòÉΓòÉ
  1930.  
  1931. The following is a list of all error messages, and a possible cause. 
  1932.  
  1933. No tag definition file active. 
  1934.  
  1935.           Issued by the "bookie" command. Use the "bookief" command to define 
  1936.           valid tag definition files. 
  1937.  
  1938. Invalid parameter 'parm' supplied, must be 'ON' or 'OFf' 
  1939.  
  1940.           Issued by the "bookie" command. The command accepts one parameter 
  1941.           which must be "on" or "off". The default (no parameter entered) is 
  1942.           "on". 
  1943.  
  1944. Required parameter 'filename' omitted. 
  1945.  
  1946.           You have issued the "bookief" command without any parameters. 
  1947.           Re-issue the command, and supply the name of at least one tag 
  1948.           definition file. 
  1949.  
  1950. Symbol support not active 
  1951.  
  1952.           Issued by the "bkmsym" command. You issued the command, but the 
  1953.           symbol support was not active. You probably don't use a tag 
  1954.           definition file which has symbols associated. 
  1955.  
  1956. No marked line(s), and 'all' parameter not specified. 
  1957.  
  1958.           You issued the "bkmsym" command without marking an area. In order to 
  1959.           prevent an accidental replacement of all special characters which 
  1960.           symbols you must specify the "all" parameter on the "bkmsym" command 
  1961.           to really process the entire file. 
  1962.  
  1963. Processing ended, 'number' lines changed. 
  1964.  
  1965.           The "bkmsym" command has completed successfully, and has changed the 
  1966.           number of lines indicated. 
  1967.  
  1968. Invalid parameter 'text' supplied, must be ON|OFf|Display|Trace|Etrace 
  1969.  
  1970.           Issued by the "bkmdebug" command. Supply one of the valid parameters. 
  1971.           The minimum abbreviations are shown in uppercase. 
  1972.  
  1973. Debugging support not configured. 
  1974.  
  1975.           You have issued the "bkmdebug" command, but the debugging support was 
  1976.           not included into your configuration. Refer to Including the 
  1977.           Debugging Support if you want to include debugging. 
  1978.  
  1979. Support is not active for this file. 
  1980.  
  1981.           You wanted to use the "alt_h" command for help, but the tag support 
  1982.           is not active for this file. If you want to use the help support, you 
  1983.           first have to activate EBOOKIE. 
  1984.  
  1985. Unable to find the file 'file', support not available. 
  1986.  
  1987.           You wanted to use the help facility, but the help file could not be 
  1988.           found. 
  1989.  
  1990.           The help file has to be located in the directory of the editor, or 
  1991.           somewhere along the DPATH in OS/2, the PATH in DOS, or the EPATH. 
  1992.  
  1993. Unable to create a buffer, OS/2 rc='rc' 
  1994.  
  1995.           The help facility tried to allocate a buffer, but received an error 
  1996.           from OS/2. You are probably out of storage, and the system could not 
  1997.           swap. Inspect the OS/2 return code and correct the problem (usually 
  1998.           by relocating the SWAPPER.DAT file to a drive which has more free 
  1999.           space). 
  2000.  
  2001. Dynalink error, rc='rc' 
  2002.  
  2003.           EBOOKIE tried to create a message box, but received the error shown 
  2004.           in the message. Don't ask me why this should happen. The best thing 
  2005.           you can do is to report this in the EBOOKIE FORUM on IBMPC. 
  2006.  
  2007. 'word' not found. 
  2008.  
  2009.           You pressed the "alt_h" key, but the word where the cursor is located 
  2010.           could not be found. No help exists for the word shown in the message. 
  2011.  
  2012. Line mark invalid, must be block mark or not marked at all. 
  2013.  
  2014.           You wanted to use the index facility by pressing "alt_i", but you had 
  2015.           a line mark active. The index facility requires a block mark, or no 
  2016.           mark at all. 
  2017.  
  2018. The marked block must not span lines. 
  2019.  
  2020.           You wanted to use the index facility, but the block you marked did 
  2021.           span lines, which is invalid. 
  2022.  
  2023. Unrecoverable error with definition file and index, support halted 
  2024.  
  2025.           The tag definition file and the index don't match. An attempt was 
  2026.           made to re-create the index, but it didn't work. Exit the file you 
  2027.           are currently editing, delete the index file manually, and resume 
  2028.           editing. If the problem persists, append to the "EBOOKIE FORUM" on 
  2029.           IBMPC. 
  2030.  
  2031. File 'file' not found, repair 'definition file(s)'. 
  2032.  
  2033.           The tag you have entered wanted to pull a file from disk into your 
  2034.           document, but the file could not be found. To correct the problem 
  2035.           copy the file shown in the message (and probably some others too) to 
  2036.           one of the following directories: 
  2037.  
  2038.    o Somewhere in the EPATH 
  2039.  
  2040.    o Somewhere in the PATH (DOS) or DPATH (OS/2) 
  2041.  
  2042.    o The directory where the editor resides. 
  2043.  
  2044. Flag 'flag' for 'tag' invalid, repair 'tag definition file(s) 
  2045.  
  2046.           The flag you have defined in your tag definition file is invalid. 
  2047.           Refer to Changing the Tag Definition File for a description of the 
  2048.           definition file and the valid flags. 
  2049.  
  2050.           Note:  EBOOKIE can not determine which file has the error. You may 
  2051.           have to look through all files shown in the message to determine the 
  2052.           cause of the error. 
  2053.  
  2054. The file(s) 'list-of-files' could not be found. 
  2055.  
  2056.           You have specified the name of one or more additional tag definition 
  2057.           files, which could not be found along the EPATH, PATH (DOS) or DPATH 
  2058.           (OS/2), and in the directory where the editor resides. The support is 
  2059.           activated, but without the definition files shown in the message. 
  2060.  
  2061.           Note:  You must acknowledge this message by pressing any key. 
  2062.  
  2063.           If you have not previously issued a "bookief" command, this might be 
  2064.           caused also by: 
  2065.  
  2066.    o An invalid default specified in MYCNF.E 
  2067.  
  2068.    o You tried to edit a file from a source which had additional tag definition 
  2069.      files defined, but you don't have those files. 
  2070.  
  2071. Initializing tag support, creating tag index, please wait. 
  2072.  
  2073.           This notification message is issued when a new index file is created. 
  2074.           Please wait until the message is removed, you can then work with your 
  2075.           file. 
  2076.  
  2077. Could not locate the file 'file', symbol support not active. 
  2078.  
  2079.           EBOOKIE tried to locate the file shown in the message, but could not 
  2080.           find it. You should copy the symbol file to the directory shown in 
  2081.           the message. If the file does not exist may create one, or remove the 
  2082.           name of the symbol file from your tag definition file. 
  2083.  
  2084. Could not find the file 'file', support status unchanged. 
  2085.  
  2086.           You have specified a primary tag definition file which could not be 
  2087.           found. You can resume work with the old definition file. 
  2088.  
  2089. Could not find the file 'file', support not available 
  2090.  
  2091.           You have specified a primary tag definition file which could not be 
  2092.           found. The support was inactive, and remains inactive until you 
  2093.           specify a valid tag definitions file with the "bookief" command. 
  2094.  
  2095. Error during 'get' of 'file', cc='rc' 
  2096.  
  2097.           Issued by the routine "bkm_get()". The file has been found, but there 
  2098.           was one of the following errors: 
  2099.  
  2100.     1. You don't have enough storage. 
  2101.  
  2102.     2. The maximum number of files which can be in a ring has been exceeded. 
  2103.  
  2104.           Inspect the return code and the "User's Guide" of the editor you are 
  2105.           using to correct the error. 
  2106.  
  2107.           Note:  You must acknowledge this message by pressing any key. 
  2108.  
  2109. Could not allocate the file '.BKM', support halted. 
  2110.  
  2111.           The support has tried to switch to the (hidden) file ".BKM", and the 
  2112.           "getfileid" command did not return the file handle. An attempt was 
  2113.           made to create the file, but again the file could not be located. 
  2114.           Probably there are too many files in the ring. Please report to the 
  2115.           EBOOKIE FORUM on IBMPC. The support is halted. 
  2116.  
  2117.           Note:  You must acknowledge this message by pressing any key. 
  2118.  
  2119.  
  2120. ΓòÉΓòÉΓòÉ 6.2. Messages Issued During Debugging ΓòÉΓòÉΓòÉ
  2121.  
  2122. When debugging is switched on ("bkmdebug on" command), some additional messages 
  2123. are display. All messages have to be acknowledged with a keystroke, or the 
  2124. "cancel" button. Please note that the debugging support is only available if it 
  2125. is properly configured. Refer to Including the Debugging Support for more 
  2126. information. 
  2127.  
  2128. Margins changed to 'new margins' 
  2129.  
  2130.           Displayed whenever a "dynamic" margin change is done. 
  2131.  
  2132. bkm_expansion('char'), bkm='flag', colon='pos', line='line'. 
  2133.  
  2134.           The routine "bkm_expansion()" has been called with the following 
  2135.           parameters: 
  2136.  
  2137.    char      The current character. Might be " " (space) or "." (period). 
  2138.  
  2139.    flag      Number of the index file. 
  2140.  
  2141.    pos       Position of the colon in the line. 
  2142.  
  2143.    line      The line number of the colon. 
  2144.  
  2145. bkm_expansion... tag='tag' caution='flag' line='line' linerest='linerest' 
  2146.  
  2147.           The routine "bkm_expansion()" continues processing the tag. The 
  2148.           parameters shown in the message are: 
  2149.  
  2150.    tag       The current tag. 
  2151.  
  2152.    flag      The caution flag. 
  2153.  
  2154.       0         Regular tag processing. 
  2155.  
  2156.       1         The cursor is left of the tag-start character. 
  2157.  
  2158.       2         The tag ends with an tag-end character already. This might 
  2159.                 happen when the colon is typed again. 
  2160.  
  2161.    line      The text to the left of the tag. 
  2162.  
  2163.    linerest  The text after the tag. 
  2164.  
  2165. bkm_process('line','tag','force','parms','after','before') 
  2166.  
  2167.           The routine "bkm_process" has been called with the parameters shown. 
  2168.  
  2169.    line      The stuff before the tag. 
  2170.  
  2171.    tag       The tag. 
  2172.  
  2173.    force     The current flag. Refer to Changing the Tag Definition File for a 
  2174.              description of this flag. 
  2175.  
  2176.    parms     The parameters for this tag. 
  2177.  
  2178.    after     Additional tags which should be inserted in lines after the tag, 
  2179.              or the name of a file which should be included. 
  2180.  
  2181.    before    Additional tags which should be inserted in lines before the tag. 
  2182.  
  2183. Searching for tag 'tag' 
  2184.  
  2185.           The tag-searching routine has been called for the tag specified in 
  2186.           "tag". 
  2187.  
  2188. bkm_init() 'file' 
  2189.  
  2190.           The routine "bkm_init" has been called for the file shown. This 
  2191.           routine is called: 
  2192.  
  2193.    o during DEFLOAD in EOS2 and EPM 
  2194.  
  2195.    o during the "select_edit_keys()" processing in E3. 
  2196.  
  2197. bkm_init() 'file' continues 
  2198.  
  2199.           The routine "bkm_init" has been called for the file shown. The file 
  2200.           will be processed. File which are not processed are: 
  2201.  
  2202.    o the main definition file 
  2203.  
  2204.    o the main index 
  2205.  
  2206.    o all files where the name starts with a period 
  2207.  
  2208.    o the variable "bkm_nocheck"  indicates that the file should not be 
  2209.      processed. 
  2210.  
  2211. bkm_init() 'file' ended, rc= 
  2212.  
  2213.           The routine "bkm_init()" has ended for this file with the shown 
  2214.           return code. If the return code is zero, the support will not be 
  2215.           activated for this file. 
  2216.  
  2217. bkm_select() called for 'file' 
  2218.  
  2219.           The routine shown in the message has been called during a "DEFSELECT" 
  2220.           or "select_edit_keys()" processing. 
  2221.  
  2222. bkm_chg_def_file('file','force') 
  2223.  
  2224.           The routine has "bkm_chg_def_file()" has been called with the 
  2225.           parameters shown. If "force" is "1", the index will be re-built. 
  2226.  
  2227. Initializing tag support 
  2228.  
  2229.           The support is initialized. The tag definition files are read from 
  2230.           the disk, and, if necessary, a new index is created. 
  2231.  
  2232. Checking symbol support, file='name.codepage' 
  2233.  
  2234.           The support tries to locate the file shown. If either the name or the 
  2235.           extension is empty, nothing will be done. If both are defined, the 
  2236.           disk is searched for this file in the same directory as the master 
  2237.           tag definition file. 
  2238.  
  2239. Initializing symbol table 
  2240.  
  2241.           The symbol table is initialized. This message appears only if you 
  2242.           edit a BookMaster file and the symbol support has been included. 
  2243.  
  2244. bkm_upd_line_one() 
  2245.  
  2246.           The routine shown in the message (which sets the first line in the 
  2247.           file) has been called. 
  2248.  
  2249. bkm_switch('num') 
  2250.  
  2251.           The routine "bkm_switch()" has been called with the parameter shown. 
  2252.  
  2253. bkm_switch('num') file 'newidx' no header 
  2254.  
  2255.           The index file shown in "newidx" has no header. Please report to 
  2256.           EBOOKIE FORUM on IBMPC. 
  2257.  
  2258. bkm_switch('num') file 'newidx' not found 
  2259.  
  2260.           The index file shown in "newidx" was not found. Please report to 
  2261.           EBOOKIE FORUM on IBMPC. 
  2262.  
  2263. bkm_findfile('file') 
  2264.  
  2265.           The routine "bkm_findfile" has been called to locate the file shown 
  2266.           in the message. 
  2267.  
  2268. bkm_get('file') 
  2269.  
  2270.           The routine "bkm_get()" has been called with the file shown. 
  2271.  
  2272. bkm_find_file('name') 
  2273.  
  2274.           The support tries to locate the file shown in "name" in its internal 
  2275.           (hidden) file ".BKM" to retrieve information about the editing 
  2276.           status. 
  2277.  
  2278. bkm_upd_bkm_files('bkm','tag') 
  2279.  
  2280.           The support is saving some information about the current file in the 
  2281.           hidden file ".BKM". 
  2282.  
  2283.    bkm       Shows the current editing status (-1 if unchanged). 
  2284.  
  2285.    tag       The tag which triggers a change in margins (only valid if the 
  2286.              dynamic margins feature is active). 
  2287.  
  2288. bkm_make_bkm() called. Current='filename' 
  2289.  
  2290.           The routine to create the hidden file ".BKM" has been called. The 
  2291.           current file is shown in "filename". 
  2292.  
  2293. bkm_get_parms('line','flag') called 
  2294.  
  2295.           The routine which interprets the first line of tag definition files 
  2296.           has been called. The first parameter "line" contains the first line 
  2297.           of the file, the second parameter is "1" when the primary tag 
  2298.           definition file is processed, and "0", when additional files are 
  2299.           interpreted. 
  2300.  
  2301. DEFLOAD called for 'filename' 
  2302.  
  2303.           The "DEFLOAD" routine has been called for the file shown in the 
  2304.           message. This message can only appear in EOS2 and EPM. 
  2305.  
  2306. DEFSELECT called for 'filename' 
  2307.  
  2308.           The "DEFSELECT" routine has been called for the file shown in the 
  2309.           message. This message can only appear in EOS2 and EPM. 
  2310.  
  2311.  
  2312. ΓòÉΓòÉΓòÉ 7. EBOOKIE Internals ΓòÉΓòÉΓòÉ
  2313.  
  2314. All files used by EBOOKIE (tag definition files, skeleton files, symbol files, 
  2315. and help files) may reside in the following directories: 
  2316.  
  2317.  1. Along the "EPATH" in EOS2 and E3, or the "EPMPATH" in EPM. 
  2318.  
  2319.  2. Along the "DPATH" in EPM and EOS2, or the "PATH" in E3. 
  2320.  
  2321.  3. In the directory where the editor resides. 
  2322.  
  2323. When the first file which needs the tag support is loaded into the ring, the 
  2324. tag definition files defined in the file itself (using the ".* EBOOKIE" 
  2325. footprint) is loaded into a hidden file. If the footprint can not be found, the 
  2326. default tag definition files found in the variable "bkm_tag_file" are used. 
  2327.  
  2328. Then the index file is read from the directory defined in the following 
  2329. variables or constants (in this order): 
  2330.  
  2331.  1. vAUTOSAVE_PATH 
  2332.  
  2333.  2. AUTOSAVE_PATH 
  2334.  
  2335.  3. vTEMP_PATH 
  2336.  
  2337.  4. TEMP_PATH 
  2338.  
  2339. If none of those variables or constants point to a valid path the directory 
  2340. where the primary tag definition file was is used to store and retrieve the 
  2341. index. If the index file is not found, or doesn't match the current definition 
  2342. files (the index has the footprint too), one is created, and saved on the disk. 
  2343. Please note that the index might not be created right away, only when an 
  2344. inconsistency is found. For example, if you delete a line from the definition 
  2345. file, the record numbers for the lines before the line you have deleted are 
  2346. still valid. The inconsistency is found when the line specified in the index 
  2347. doesn't contain the tag in the definitions file. This might happen a long time 
  2348. after you have changed the definition file. 
  2349.  
  2350. If you edit files which require different tag definition files during the same 
  2351. editing session, the number of hidden files is increased by two for each set, 
  2352. by three, if the symbol support is activated. For example, if you edit ten 
  2353. files where each file requires a different set of definition files, you 
  2354. actually have at least 31 files in your ring. If those ten files would all use 
  2355. the same set of definition files, you would have only 13 (or 14, if the symbol 
  2356. support is active) files in the ring. In any case you will see only ten files, 
  2357. all other internal files are hidden. 
  2358.  
  2359. To summarize, EBOOKIE uses the following hidden files: 
  2360.  
  2361. o A file which is used as temporary buffer with the name ".BKM", which is 
  2362.   allocated during "DEFINIT" processing. 
  2363.  
  2364. o The symbol file associated with the current tag definition file. 
  2365.  
  2366. o The file which contains the tag definitions. 
  2367.  
  2368. o The index into the tag definition file. 
  2369.  
  2370. o The help file. 
  2371.  
  2372. When you use the help facility under EOS2 or E3 you will also find one 
  2373. non-hidden file in your ring called ".HLP" which contains the last requested 
  2374. help information. 
  2375.  
  2376. When you type a tag, the index is searched. If the tag is found, the record 
  2377. number found in the index is used to retrieve the tag-specific data. Those data 
  2378. are then used to format the text. 
  2379.  
  2380. All tags start with the character defined in the tag definition file, and can 
  2381. be terminated by: 
  2382.  
  2383. o the enter key 
  2384.  
  2385. o the space bar 
  2386.  
  2387. o c_space in EPM or c_enter in EOS2 or E3 
  2388.  
  2389. o the tag-end character 
  2390.  
  2391. o the cursor up key 
  2392.  
  2393. o the cursor down key 
  2394.  
  2395. o the page up key 
  2396.  
  2397.   or 
  2398.  
  2399. o the page down key 
  2400.  
  2401. Those keys trigger the following actions: 
  2402.  
  2403. tag-start                  Save the position of the character (line number, and 
  2404.                            column position). 
  2405.  
  2406. space                      If there was a tag-start character on the same line, 
  2407.                            the main processing routine is called. This routine 
  2408.                            determines if there was a valid tag, and acts 
  2409.                            accordingly. If the tag has required and/or optional 
  2410.                            parameter, they are inserted into the text. 
  2411.  
  2412. c_space in EPM             Same as space, but all parameters are inserted into 
  2413.                            the text. 
  2414.  
  2415. c_enter in EOS2            Same as c_space. 
  2416.  
  2417. tag-end character          Basically the same as space, only that optional 
  2418.                            parameters are not inserted into the text. 
  2419.  
  2420. enter                      Exactly the same as the period. 
  2421.  
  2422. up                         Same as period. 
  2423.  
  2424. down                       Same as period. 
  2425.  
  2426. page up                    Same as period. 
  2427.  
  2428. page down                  Same as period. 
  2429.  
  2430. EBOOKIE intercepts all keys of the keyboard in unshifted and shifted mode. This 
  2431. is necessary because of the variable tag-start and tag-end characters. In 
  2432. addition to the regular keys, it also intercepts: 
  2433.  
  2434. o tab 
  2435.  
  2436. o shift-tab 
  2437.  
  2438. o alt_2 
  2439.  
  2440. o alt_h 
  2441.  
  2442. o alt_i 
  2443.  
  2444. Those keys are intercepted to support the tabbing, the "remember next tag" 
  2445. function, the help, and index facilities. Within the text tabbing is one word 
  2446. at a time. If the cursor is right of any text, or within the range of a 
  2447. language construct which triggered the dynamic margin changes, it tabs forward 
  2448. or backward using regular tabstops. 
  2449.  
  2450.  
  2451. ΓòÉΓòÉΓòÉ 7.1. The Symbol Files ΓòÉΓòÉΓòÉ
  2452.  
  2453. Every set of tag definition files may define one additional file which contains 
  2454. the symbol table. EBOOKIE supplies two symbol tables for BookMaster, one for 
  2455. codepage 850, and one for codepage 437. The following tables show the key code 
  2456. in decimal, and the associated BookMaster symbol. 
  2457.  
  2458.  
  2459. ΓòÉΓòÉΓòÉ 7.1.1. The BKMTAGS.850 File ΓòÉΓòÉΓòÉ
  2460.  
  2461. 001       &face.
  2462. 002       &FACE.
  2463. 003      &HEART.
  2464. 004    &DIAMOND.
  2465. 005       &CLUB.
  2466. 006      &SPADE.
  2467. 007        &bul.
  2468. 008     &revbul.
  2469. 009
  2470. 010
  2471. 011        &male.
  2472. 012      &female.
  2473. 013
  2474. 014   ¬e1616.
  2475. 015
  2476. 016     &rahead.
  2477. 017     &lahead.
  2478. 018    &udarrow.
  2479. 019    &dblxclm.
  2480. 020 ╨ç       &par.
  2481. 021 ╤ù      &dbls.
  2482. 022      &dblus.
  2483. 023  &udarrowus.
  2484. 024     &uarrow.
  2485. 025     &darrow.
  2486. 026     &rarrow.
  2487. 027     &larrow.
  2488. 028    &lnotusd.
  2489. 029    &lrarrow.
  2490. 030  &TRIANGLE.
  2491. 031
  2492. 032
  2493. 033 !      &xclm.
  2494. 034 "       &sdq.
  2495. 035 #   &numsign.
  2496. 036 $    &dollar.
  2497. 037 %   &percent.
  2498. 038 :       &gml.
  2499. 039 '       &ssq.
  2500. 040 (      &lpar.
  2501. 041 )      &rpar.
  2502. 042 *  &asterisk.
  2503. 043 +      &plus.
  2504. 044 ,     &comma.
  2505. 045 -     &minus.
  2506. 046 .    &period.
  2507. 047 /     &slash.
  2508. 048
  2509. 049
  2510. 050
  2511. 051
  2512. 052
  2513. 053
  2514. 054
  2515. 055
  2516. 056
  2517. 057
  2518. 058
  2519. 059 ;      &semi.
  2520. 060 <        <.
  2521. 061 =        &eq.
  2522. 062 >        >.
  2523. 063 ?     &quest.
  2524. 064 @    &atsign.
  2525. 065
  2526. 066
  2527. 067
  2528. 068
  2529. 069
  2530. 070
  2531. 071
  2532. 072
  2533. 073
  2534. 074
  2535. 075
  2536. 076
  2537. 077
  2538. 078
  2539. 079
  2540. 080
  2541. 081
  2542. 082
  2543. 083
  2544. 084
  2545. 085
  2546. 086
  2547. 087
  2548. 088
  2549. 089
  2550. 090
  2551. 091 [      &lbrk.
  2552. 092 \       &bsl.
  2553. 093 ]      &rbrk.
  2554. 094 ^     &caret.
  2555. 095 _        &us.
  2556. 096 `     &grave.
  2557. 097
  2558. 098
  2559. 099
  2560. 100
  2561. 101
  2562. 102
  2563. 103
  2564. 104
  2565. 105
  2566. 106
  2567. 107
  2568. 108
  2569. 109
  2570. 110
  2571. 111
  2572. 112
  2573. 113
  2574. 114
  2575. 115
  2576. 116
  2577. 117
  2578. 118
  2579. 119
  2580. 120
  2581. 121
  2582. 122
  2583. 123 {      &lbrc.
  2584. 124 |      &vbar.
  2585. 125 }      &rbrc.
  2586. 126 ~     &tilde.
  2587. 127      &house.
  2588. 128 ╨É        &Cc.
  2589. 129 ╨æ        &ue.
  2590. 130 ╨Æ        &ea.
  2591. 131 ╨ô        &ac.
  2592. 132 ╨ö        &ae.
  2593. 133 ╨ò        &ag.
  2594. 134 ╨û        &ao.
  2595. 135 ╨ù        &cc.
  2596. 136 ╨ÿ        &ec.
  2597. 137 ╨Ö        &ee.
  2598. 138 ╨Ü        &eg.
  2599. 139 ╨¢        &ie.
  2600. 140 ╨£        &ic.
  2601. 141 ╨¥        &ig.
  2602. 142 ╨₧        &Ae.
  2603. 143 ╨ƒ        &Ao.
  2604. 144 ╨á        &Ea.
  2605. 145 ╨í     æ.
  2606. 146 ╨ó     Æ.
  2607. 147 ╨ú        &oc.
  2608. 148 ╨ñ        &oe.
  2609. 149 ╨Ñ        &og.
  2610. 150 ╨ª        &uc.
  2611. 151 ╨º        &ug.
  2612. 152 ╨¿        &ye.
  2613. 153 ╨⌐        &Oe.
  2614. 154 ╨¬        &Ue.
  2615. 155 ╨½        &os.
  2616. 156 ╨¼ &Lsterling.
  2617. 157 ╨¡        &Os.
  2618. 158 ╨«      &mult.
  2619. 159 ╨»    &florin.
  2620. 160 ╨░        &aa.
  2621. 161 ╨▒        &ia.
  2622. 162 ╨▓        &oa.
  2623. 163 ╨│        &ua.
  2624. 164 ╨┤        &nt.
  2625. 165 ╨╡        &Nt.
  2626. 166 ╨╢       &aus.
  2627. 167 ╨╖       &ous.
  2628. 168 ╨╕      &invq.
  2629. 169 ╨╣     ®tm.
  2630. 170 ╨║      &lnot.
  2631. 171 ╨╗    ½.
  2632. 172 ╨╝    ¼.
  2633. 173 ╨╜      &inve.
  2634. 174 ╨╛      &odqf.
  2635. 175 ╨┐      &cdqf.
  2636. 176 Γûæ     &box14.
  2637. 177 ΓûÆ     &box12.
  2638. 178 Γûô     &box34.
  2639. 179
  2640. 180
  2641. 181 Γòí        &Ag.
  2642. 182 Γòó        &Ac.
  2643. 183 Γòû        &Aa.
  2644. 184 Γòò      &copr.
  2645. 185
  2646. 186
  2647. 187
  2648. 188
  2649. 189 ╨½      ¢.
  2650. 190 ╨¡       ¥.
  2651. 191
  2652. 192
  2653. 193
  2654. 194
  2655. 195
  2656. 196
  2657. 197
  2658. 198 Γò₧        &at.
  2659. 199 Γòƒ        &At.
  2660. 200
  2661. 201
  2662. 202
  2663. 203
  2664. 204
  2665. 205
  2666. 206
  2667. 207 Γòº  ¤cy.
  2668. 208 Γò¿       ð.
  2669. 209 Γòñ       &Eth.
  2670. 210 ΓòÑ        &Ec.
  2671. 211 ΓòÖ        &Ee.
  2672. 212 Γòÿ        &Eg.
  2673. 213 ΓòÆ  &idotless.
  2674. 214 Γòô        &Ia.
  2675. 215 Γò½        &Ic.
  2676. 216 Γò¬        &Ie.
  2677. 217
  2678. 218
  2679. 219
  2680. 220
  2681. 221 | &splitvbar.
  2682. 222 ΓûÉ        &Ig.
  2683. 223 ΓûÇ    &BOXTOP.
  2684. 224 ╤Ç        &Oa.
  2685. 225 ╤ü      &beta.
  2686. 226 ╤é        &Oc.
  2687. 227 ╤â        &Og.
  2688. 228 ╤ä        &ot.
  2689. 229 ╤à        &Ot.
  2690. 230 ╤å        &mu.
  2691. 231 ╤ç     þ.
  2692. 232 ╤ê     &Thorn.
  2693. 233 ╤ë        &Ua.
  2694. 234 ╤è        &Uc.
  2695. 235 ╤ï        &Ug.
  2696. 236 ╤î        &ya.
  2697. 237 ╤ì        &Ya.
  2698. 238 ╤Ä  &overline.
  2699. 239 ╤Å     ´.
  2700. 240 -     &minus.
  2701. 241 ╤æ        &pm.
  2702. 242
  2703. 243 ╤ö    ¾.
  2704. 244 ╨ç       &par.
  2705. 245 ╤ù      &dbls.
  2706. 246 ╨Ä       &div.
  2707. 247
  2708. 248 ┬░      &sup0.
  2709. 249
  2710. 250 ┬╖  &smultdot.
  2711. 251 ΓêÜ      ¹.
  2712. 252 Γäû      ³.
  2713. 253 ┬ñ      ².
  2714. 254 Γûá     &sqbul.
  2715.  
  2716.  
  2717. ΓòÉΓòÉΓòÉ 7.1.2. The BKMTAGS.437 File ΓòÉΓòÉΓòÉ
  2718.  
  2719. 001       &face.
  2720. 002       &FACE.
  2721. 003      &HEART.
  2722. 004    &DIAMOND.
  2723. 005       &CLUB.
  2724. 006      &SPADE.
  2725. 007        &bul.
  2726. 008     &revbul.
  2727. 009
  2728. 010
  2729. 011        &male.
  2730. 012      &female.
  2731. 013
  2732. 014   ¬e1616.
  2733. 015
  2734. 016     &rahead.
  2735. 017     &lahead.
  2736. 018    &udarrow.
  2737. 019    &dblxclm.
  2738. 020 ╨ç       &par.
  2739. 021 ╤ù      &dbls.
  2740. 022      &dblus.
  2741. 023  &udarrowus.
  2742. 024     &uarrow.
  2743. 025     &darrow.
  2744. 026     &rarrow.
  2745. 027     &larrow.
  2746. 028    &lnotusd.
  2747. 029    &lrarrow.
  2748. 030  &TRIANGLE.
  2749. 031
  2750. 032
  2751. 033 !      &xclm.
  2752. 034 "       &sdq.
  2753. 035 #   &numsign.
  2754. 036 $    &dollar.
  2755. 037 %   &percent.
  2756. 038 :       &gml.
  2757. 039 '       &ssq.
  2758. 040 (      &lpar.
  2759. 041 )      &rpar.
  2760. 042 *  &asterisk.
  2761. 043 +      &plus.
  2762. 044 ,     &comma.
  2763. 045 -     &minus.
  2764. 046 .    &period.
  2765. 047 /     &slash.
  2766. 048
  2767. 049
  2768. 050
  2769. 051
  2770. 052
  2771. 053
  2772. 054
  2773. 055
  2774. 056
  2775. 057
  2776. 058
  2777. 059 ;      &semi.
  2778. 060 <        <.
  2779. 061 =        &eq.
  2780. 062 >        >.
  2781. 063 ?     &quest.
  2782. 064 @    &atsign.
  2783. 065
  2784. 066
  2785. 067
  2786. 068
  2787. 069
  2788. 070
  2789. 071
  2790. 072
  2791. 073
  2792. 074
  2793. 075
  2794. 076
  2795. 077
  2796. 078
  2797. 079
  2798. 080
  2799. 081
  2800. 082
  2801. 083
  2802. 084
  2803. 085
  2804. 086
  2805. 087
  2806. 088
  2807. 089
  2808. 090
  2809. 091 [      &lbrk.
  2810. 092 \       &bsl.
  2811. 093 ]      &rbrk.
  2812. 094 ^     &caret.
  2813. 095 _        &us.
  2814. 096 `     &grave.
  2815. 097
  2816. 098
  2817. 099
  2818. 100
  2819. 101
  2820. 102
  2821. 103
  2822. 104
  2823. 105
  2824. 106
  2825. 107
  2826. 108
  2827. 109
  2828. 110
  2829. 111
  2830. 112
  2831. 113
  2832. 114
  2833. 115
  2834. 116
  2835. 117
  2836. 118
  2837. 119
  2838. 120
  2839. 121
  2840. 122
  2841. 123 {      &lbrc.
  2842. 124 | &splitvbar.
  2843. 125 }      &rbrc.
  2844. 126 ~     &tilde.
  2845. 127      &house.
  2846. 128 ╨É        &Cc.
  2847. 129 ╨æ        &ue.
  2848. 130 ╨Æ        &ea.
  2849. 131 ╨ô        &ac.
  2850. 132 ╨ö        &ae.
  2851. 133 ╨ò        &ag.
  2852. 134 ╨û        &ao.
  2853. 135 ╨ù        &cc.
  2854. 136 ╨ÿ        &ec.
  2855. 137 ╨Ö        &ee.
  2856. 138 ╨Ü        &eg.
  2857. 139 ╨¢        &ie.
  2858. 140 ╨£        &ic.
  2859. 141 ╨¥        &ig.
  2860. 142 ╨₧        &Ae.
  2861. 143 ╨ƒ        &Ao.
  2862. 144 ╨á        &Ea.
  2863. 145 ╨í     æ.
  2864. 146 ╨ó     Æ.
  2865. 147 ╨ú        &oc.
  2866. 148 ╨ñ        &oe.
  2867. 149 ╨Ñ        &og.
  2868. 150 ╨ª        &uc.
  2869. 151 ╨º        &ug.
  2870. 152 ╨¿        &ye.
  2871. 153 ╨⌐        &Oe.
  2872. 154 ╨¬        &Ue.
  2873. 155 ╨½      ¢.
  2874. 156 ╨¼ &Lsterling.
  2875. 157 ╨¡       ¥.
  2876. 158
  2877. 159 ╨»    &florin.
  2878. 160 ╨░        &aa.
  2879. 161 ╨▒        &ia.
  2880. 162 ╨▓        &oa.
  2881. 163 ╨│        &ua.
  2882. 164 ╨┤        &nt.
  2883. 165 ╨╡        &Nt.
  2884. 166 ╨╢       &aus.
  2885. 167 ╨╖       &ous.
  2886. 168 ╨╕      &invq.
  2887. 169 ╨╣   &lnotrev.
  2888. 170 ╨║      &lnot.
  2889. 171 ╨╗    ½.
  2890. 172 ╨╝    ¼.
  2891. 173 ╨╜      &inve.
  2892. 174 ╨╛      &odqf.
  2893. 175 ╨┐      &cdqf.
  2894. 176 Γûæ     &box14.
  2895. 177 ΓûÆ     &box12.
  2896. 178 Γûô     &box34.
  2897. 179
  2898. 180
  2899. 181
  2900. 182
  2901. 183
  2902. 184
  2903. 185
  2904. 186
  2905. 187
  2906. 188
  2907. 189
  2908. 190
  2909. 191
  2910. 192
  2911. 193
  2912. 194
  2913. 195
  2914. 196
  2915. 197
  2916. 198
  2917. 199
  2918. 200
  2919. 201
  2920. 202
  2921. 203
  2922. 204
  2923. 205
  2924. 206
  2925. 207
  2926. 208
  2927. 209
  2928. 210
  2929. 211
  2930. 212
  2931. 213
  2932. 214
  2933. 215
  2934. 216
  2935. 217
  2936. 218
  2937. 219
  2938. 220
  2939. 221
  2940. 222
  2941. 223
  2942. 224 ╤Ç     &alpha.
  2943. 225 ╤ü      &beta.
  2944. 226 ╤é     &Gamma.
  2945. 227 ╤â        &pi.
  2946. 228 &sum.       &sum.
  2947. 229 ╤à     &sigma.
  2948. 230 ╤å        &mu.
  2949. 231          &tau
  2950. 232 ╤ê       &Phi.
  2951. 233 &theta.     &theta.
  2952. 234 ╤è     &Omega.
  2953. 235 ╤ï     &delta.
  2954. 236 ╤î  &infinity.
  2955. 237 ╤ì       &phi.
  2956. 238 &memberof.  &memberof.
  2957. 239 &meet.      &meet.
  2958. 240 ╨ü &identical.
  2959. 241 ╤æ        &pm.
  2960. 242 ╨ä        &ge.
  2961. 243 ╤ö        &le.
  2962. 244 ╨ç    &inttop.
  2963. 245 ╤ù    &intbot.
  2964. 246 ╨Ä       &div.
  2965. 247
  2966. 248 ┬░      &sup0.
  2967. 249 &lmultdot.  &lmultdot.
  2968. 250 ┬╖  &smultdot.
  2969. 251 ΓêÜ      &sqrt.
  2970. 252 Γäû      &supn.
  2971. 253 ┬ñ      ².
  2972. 254 Γûá     &sqbul.
  2973.  
  2974.  
  2975. ΓòÉΓòÉΓòÉ 7.2. Debugging EBOOKIE ΓòÉΓòÉΓòÉ
  2976.  
  2977. EBOOKIE has some debugging features which might be useful in determining 
  2978. erroneous behavior. If you have configured EBOOKIE for debugging (refer to 
  2979. Including the Debugging Support for more information), you have one additional 
  2980. command "bkmdebug" which controls the (few) debugging features. The command 
  2981. accepts one parameter (minimum abbreviations are shown in uppercase) which can 
  2982. be: 
  2983.  
  2984. ON        Turns on debugging mode. EBOOKIE displays additional messages. All 
  2985.           messages have to be acknowledged with the press of a key. 
  2986.  
  2987. OFf       Return debugging to the default state (off). 
  2988.  
  2989. Display   This option adds a few lines to the current file after the cursor 
  2990.           position. The information displayed looks like: 
  2991.  
  2992.                      .**EBOOKIE**DEBUGGING**INFO**START**
  2993.                      .* version: 2.2, DOS (OS/2) version=330
  2994.                      .* def: .D1
  2995.                      .* idx: .I1
  2996.                      .* avail: 1
  2997.                      .* save_file: BKMTAGS.DEF
  2998.                      .* num: 2
  2999.                      .* cur_num: 1
  3000.                      .* rep_tag: :p.
  3001.                      .* tag_start: :
  3002.                      .* tag_end: .
  3003.                      .* end_tag: :e
  3004.                      .* inv_tag_rep: &colon.
  3005.                      .* Files known to EBOOKIE:
  3006.                      .*     C:\E3\EBOOKIE\BKEYS.E == 0 || || || : || . || :e || &colon. || BKMTAGS.437
  3007.                      .*     C:\E3\EBOOKIE\EBOOKIE.SCR == 1 || || :p. || : || . || :e || &colon. || BKMTAGS.437
  3008.                      .* symbols: [a lot of crazy looking characters]
  3009.                      .* codepage= 437
  3010.                      .* sym_file= BKMTAGS.437
  3011.                      .* bkm_temp_path= C:╨₧TEMP╨₧
  3012.                      .* bkm_did_bkmattr= 1
  3013.                      .**EBOOKIE**DEBUGGING**INFO**END**
  3014.  
  3015.    version:  The version of EBOOKIE and of the operating system you use. 
  3016.  
  3017.    def:      The internal tag definition file name. It consists of a ".D" 
  3018.              followed by a number which should correspond to the number shown 
  3019.              in "cur_num". 
  3020.  
  3021.    idx:      The internal name of the index. It consists of a ".D" followed by 
  3022.              a number which should correspond to the number shown in "cur_num". 
  3023.  
  3024.    avail:    The "support available" flag. This flag is usually "1". If it is 
  3025.              "0" the initialization routine could not locate the primary tag 
  3026.              definition file, and the support is not available. If it "-1", the 
  3027.              support has not been initialized. 
  3028.  
  3029.    save_file:The name of all tag definition files used for this file. This is 
  3030.              the same as show in the first line of the document. 
  3031.  
  3032.    num:      The internal number used for the next set of definition files and 
  3033.              index. 
  3034.  
  3035.    cur_num:  The number of the current set of definition files and index. 
  3036.  
  3037.    rep_tag:  The tag which will be inserted and interpreted if you press the 
  3038.              "alt-2" key. 
  3039.  
  3040.    tag_start The first character of the tags. 
  3041.  
  3042.    tag_end   The terminating character of the tags. 
  3043.  
  3044.    end-tag   The character sequence which is common to all end-tags. 
  3045.  
  3046.    inv_tag_repThe character sequence which replaces the tag-start character 
  3047.              when an invalid tag is found. 
  3048.  
  3049.    Files known to EBOOKIEA list of files known to the support. This might not 
  3050.              include all files in the ring, some are excluded. The layout of 
  3051.              this information is: 
  3052.  
  3053.       name      The name of the file. 
  3054.  
  3055.       ==        Delimiter 
  3056.  
  3057.       flag      This shows the current editing status of the file. If this flag 
  3058.                 is zero, the file will not be touched by EBOOKIE. If it shows 
  3059.                 any other positive number, it is the number of the tag 
  3060.                 definition file and index used to format the file. 
  3061.  
  3062.       ||        Delimiter 
  3063.  
  3064.       tag       The "between" tag which triggered a change in margins for this 
  3065.                 file. 
  3066.  
  3067.       ||        Delimiter 
  3068.  
  3069.       a_2       The text assigned to the "alt-2" key for this file. 
  3070.  
  3071.       ||        Delimiter 
  3072.  
  3073.       tag_start The first character of the tags. 
  3074.  
  3075.       tag_end   The last character of the tags. 
  3076.  
  3077.       end_tag   The character sequence which is common to all end-tags. 
  3078.  
  3079.       inv_tag_repThe character sequence which replaces the tag-start character 
  3080.                 when an invalid tag is found. 
  3081.  
  3082.       symbol_fileThe name and extension of the symbol file which is associated 
  3083.                 to this file. 
  3084.  
  3085.    symbols   A list of all characters which will be replaced by the appropriate 
  3086.              BookMaster symbol. This line is blank when: 
  3087.  
  3088.        1. the support is not configured 
  3089.  
  3090.        2. no symbol file has been defined in the tag definition files 
  3091.  
  3092.        3. the defined symbol file has not been found. 
  3093.  
  3094.              This line is shown only when the support for symbols is included. 
  3095.  
  3096.    codepage  The current codepage. This is used to determine the symbol file 
  3097.              name. This line is shown only when the support for symbols is 
  3098.              included. 
  3099.  
  3100.    sym_file  The name of the current symbol file. If this field is blank, the 
  3101.              symbol support is inactive, even though it has been included into 
  3102.              the configuration. 
  3103.  
  3104.    between:  The starting tag of a language construct which triggered a change 
  3105.              in margins. If this is not blank, the margins have been changed to 
  3106.              "1 254 1". This variable is shown only if you have included the 
  3107.              dynamic margins feature. 
  3108.  
  3109.    bkm_temp_pathThe path where EBOOKIE stores its index. 
  3110.  
  3111.    bkm_did_bkmattrUsed in EPM only. This flag may have the following values: 
  3112.  
  3113.       Flag      Value 
  3114.  
  3115.       0         Support not active for this file. 
  3116.  
  3117.       1         Support active for this file. 
  3118.  
  3119. Trace     Sets "echo on". 
  3120.  
  3121. Etrace    Sets "echo off". 
  3122.  
  3123.  
  3124. ΓòÉΓòÉΓòÉ 7.3. Procedures of EBOOKIE ΓòÉΓòÉΓòÉ
  3125.  
  3126. EBOOKIE is structured in various subroutines called procedures. The following 
  3127. list should assist you to find your way through the code. 
  3128.  
  3129. Procedure Function 
  3130.  
  3131. bkm_pgup() 
  3132.  
  3133.           This procedure is called when you press the "page-up" key. Depending 
  3134.           on your definition of the dynamic margins feature this routine does: 
  3135.  
  3136.     1. a normal page-up 
  3137.  
  3138.        then 
  3139.  
  3140.     2. check each skipped line and change the margins if necessary. 
  3141.  
  3142.           Note:  This routine is only included if the dynamic margins feature 
  3143.           is configured. 
  3144.  
  3145. bkm_pgdn() 
  3146.  
  3147.           Same as "bkm_pgup", only in the other direction. 
  3148.  
  3149. bkm_up() 
  3150.  
  3151.           Note:  This routine is only included if the dynamic margins feature 
  3152.           is configured. 
  3153.  
  3154.           Called when you press the "up" key, or by the procedure "bkm_pgup". 
  3155.           The current line is checked, and the margins are changed if required. 
  3156.  
  3157.           Note:  This routine is only included if the dynamic margins feature 
  3158.           is configured. 
  3159.  
  3160. bkm_down() 
  3161.  
  3162.           Same as "bkm_up", only in the other direction. 
  3163.  
  3164.           Note:  This routine is only included if the dynamic margins feature 
  3165.           is configured. 
  3166.  
  3167. bkm_expansion(char) 
  3168.  
  3169.           The main procedure of the macro. Something which could be a tag has 
  3170.           been found, and has to be checked. First the line is parsed into 
  3171.           three parts, the stuff before the tag, the tag itself, and the stuff 
  3172.           after the tag. Then the index is searched (via the routine 
  3173.           "bkm_find_tag)", and the tag is processed. Depending on the input 
  3174.           parameter "char", which can be a space, or a period, the default and 
  3175.           optional parameters are selected. Finally the tag-processing 
  3176.           procedure ("bkm_process_tag") is called to insert the tag, the 
  3177.           parameters, and the additional lines into the text. 
  3178.  
  3179. bkm_process(line,tag,char,force,parms,xother,beforelines) 
  3180.  
  3181.           This routine is called from "bkm_expansion" and inserts the tag, the 
  3182.           parameters, and the additional lines into the text. 
  3183.  
  3184. bkm_find_tag(tag) 
  3185.  
  3186.           This routine searches the index for tag defined in the parameter. It 
  3187.           returns "0" when the tag could not be found, otherwise it returns the 
  3188.           line number of the tag in the tag definition file. 
  3189.  
  3190. bkm_say(msg,flag) 
  3191.  
  3192.           Displays the message in the status line. If the flag is "1" it also 
  3193.           waits for the pressing of a key. 
  3194.  
  3195. bkm_init() 
  3196.  
  3197.           This procedure is called from the "DEFLOAD" processing in EOS2 and 
  3198.           EPM, and from the "select_edit_keys" processing in E3. It checks the 
  3199.           file and starts the support if necessary. 
  3200.  
  3201. bkm_select() 
  3202.  
  3203.           Called during DEFSELECT or select_edit_keys() processing. Restores 
  3204.           the environment for the current file. 
  3205.  
  3206. bkm_chg_def_file(file,force) 
  3207.  
  3208.           This procedure opens the definition file(s) and the index. If the 
  3209.           index is invalid, or does not exist, it is rebuilt. 
  3210.  
  3211. bkm_upd_line_one() 
  3212.  
  3213.           Updates or creates the EBOOKIE footprint. 
  3214.  
  3215. bkm_switch(num) 
  3216.  
  3217.           This routine is called during the "DEFSELECT" or "select_edit_keys" 
  3218.           processing. It activates the current definition file and the 
  3219.           corresponding index by setting the necessary global variables. 
  3220.  
  3221. bkm_findfile 
  3222.  
  3223.           Searches the disk for the specified file. 
  3224.  
  3225. bkm_get(file) 
  3226.  
  3227.           This routine is called when the support wants to "get" a file. In E3 
  3228.           and EOS2 it just does a "get", in EPM it does not use the command, it 
  3229.           does it internally. This is because of some problems i have had with 
  3230.           the "get" command in EPM. 
  3231.  
  3232. bkm_find_file(name) 
  3233.  
  3234.           Called to find the current file in the internal (hidden) file ".BKM". 
  3235.  
  3236. bkm_upd_files(bkm,tag) 
  3237.  
  3238.           Called to save some information in the ".BKM" file. Refer to 
  3239.           Debugging EBOOKIE for a the layout of the data in this file. 
  3240.  
  3241. bkm_make_bkm() 
  3242.  
  3243.           Called to open a hidden file with the name ".BKM". 
  3244.  
  3245. bkm_get_parms(line,flag) 
  3246.  
  3247.           This routine parses the first line of the tag definition files, and 
  3248.           sets the global variables accordingly. 
  3249.  
  3250. bkm_defload() 
  3251.  
  3252.           This routine is called during "DEFLOAD" processing. 
  3253.  
  3254. bkm_defselect() 
  3255.  
  3256.           This routine is called during "DEFSELECT" processing. 
  3257.  
  3258. bkm_upd_line_attr(linenum) 
  3259.  
  3260.           Updates the attributes of the tag in the line with the number given 
  3261.           as parameter. This routine is included only if the attribute support 
  3262.           is configured. 
  3263.  
  3264.  
  3265. ΓòÉΓòÉΓòÉ 7.4. Summary of Changes ΓòÉΓòÉΓòÉ
  3266.  
  3267. Version        Date 
  3268.  
  3269. 1.00           10/05/89 
  3270.  
  3271.                First release to PCTOOLS. 
  3272.  
  3273. 1.01           10/13/89 
  3274.  
  3275.                Bug fixes: 
  3276.  
  3277.     1. Tags entered in any position on empty lines should be moved to position 
  3278.        one. 
  3279.  
  3280.                Additional functions: 
  3281.  
  3282.     1. Implementation of GML Starter-Set tags. 
  3283.  
  3284.     2. Configurable margins. 
  3285.  
  3286.     3. Use of DPATH, EPATH, or PATH to find tag definition file. This removes 
  3287.        the requirement of specifying the constant "my_bkm_path" in MYCNF.E. 
  3288.  
  3289.     4. Tab-word changes. Within the text the tabs are one word at a time, right 
  3290.        of the text it uses regular tabstops. 
  3291.  
  3292. 1.02           10/16/89 
  3293.  
  3294.                Additional functions: 
  3295.  
  3296.     1. Dynamic margins implementation. 
  3297.  
  3298. 1.10           10/24/89 
  3299.  
  3300.                Bug fixes: 
  3301.  
  3302.     1. When the tag was moved to a new line by the automatic word-wrap feature 
  3303.        of "E", it was not processed properly. 
  3304.  
  3305.                Additional functions: 
  3306.  
  3307.     1. Primary and optional tag definition files. 
  3308.  
  3309.     2. Footprint stored in user dataset, to restore correct tag definition 
  3310.        files. 
  3311.  
  3312.     3. Automatic creation of the index to the tag definition file(s). 
  3313.  
  3314.     4. Debugging and message facilities. 
  3315.  
  3316.     5. The up, down, page-up, and page-down keys are treated like a period (end 
  3317.        the tag). The left, right, and end keys are not intercepted any more, to 
  3318.        allow the user more freedom during editing of the line. 
  3319.  
  3320.     6. Dynamic margins (optional). 
  3321.  
  3322. 1.11           10/28/89 
  3323.  
  3324.                Bug fixes: 
  3325.  
  3326.     1. The ":ledi" macro has an invalid flag. 
  3327.  
  3328.     2. Even though the manual indicates that the dynamic margins feature is not 
  3329.        included by default, it is. 
  3330.  
  3331.     3. The "bookie" command doesn't work as expected. 
  3332.  
  3333.     4. Editing a file which contains anything which looks like a tag, results 
  3334.        in the footprint being stored in the first line of the file. 
  3335.  
  3336. 1.12           10/30/89 
  3337.  
  3338.                Bug fixes: 
  3339.  
  3340.     1. Use the "message()" or "messageNwait()" routines instead of "sayerror" 
  3341.        to get rid of the offending "getkey()" call in EPM. 
  3342.  
  3343.     2. Search for the tag definition files modified: 
  3344.  
  3345.       EPM       First use the "EPMPATH", then "DPATH". 
  3346.  
  3347.       EOS2      First use the "EPATH", then "DPATH". 
  3348.  
  3349.       E3        First use "EPATH", then "PATH". 
  3350.  
  3351.     3. The ":ledi" macro has an invalid flag (again!). 
  3352.  
  3353. 1.13           10/31/89 
  3354.  
  3355.                Bug fixes: 
  3356.  
  3357.     1. If more than one tag definition file is specified, EPM looses the "Esc" 
  3358.        key or gets a trap 00D due to a problem in GET.EX. 
  3359.  
  3360. 1.20           11/13/89 
  3361.  
  3362.                Bug fixes: 
  3363.  
  3364.     1. Adding a new file to the ring with the "e" command in E3 or EOS2 results 
  3365.        in the command line to scroll down by one entry. 
  3366.  
  3367.     2. After a type 4 tag has been processed the support is not active in E3. 
  3368.  
  3369.     3. When a colon of a tag has been accidentally erased and re-typed, it is 
  3370.        replaced by "&gml.". 
  3371.  
  3372.                Additional functions: 
  3373.  
  3374.     1. Every file in the ring may have its own set of tag definition files. 
  3375.  
  3376.     2. EBOOKIE can be an externally linkable module in EPM. 
  3377.  
  3378.     3. If the dynamic margins option is selected, restore the margins when the 
  3379.        file is moved back to the active position in the ring. 
  3380.  
  3381.     4. Type 5 tags include a file into the document without the tag itself. 
  3382.  
  3383.     5. Each tag may also create lines before the tag. 
  3384.  
  3385.     6. Debugging code is now optional. 
  3386.  
  3387.     7. Detection of incorrect versions of the editor during compilation of 
  3388.        EBOOKIE. 
  3389.  
  3390.     8. Allow more files per ring. 
  3391.  
  3392.     9. Each tag can define a tag or text which is assigned to the "alt-2" key. 
  3393.  
  3394. 1.30           11/24/89 
  3395.  
  3396.                Bug fixes: 
  3397.  
  3398.     1. Fix installation procedure documentation in Changing the Name of the 
  3399.        Default Tag Definition Files. 
  3400.  
  3401.     2. Fix the colors in EPM. 
  3402.  
  3403.     3. Fix ":cletter." tag. 
  3404.  
  3405.                Additional functions: 
  3406.  
  3407.     1. Support to switch off EBOOKIE with the "bookie off" command. 
  3408.  
  3409.     2. Implement third stage of expansion. 
  3410.  
  3411.       Key       Expansion level 
  3412.  
  3413.       period    required parameters. 
  3414.  
  3415.       enter     required parameters (same as period). 
  3416.  
  3417.       space     required and common optional parameters. 
  3418.  
  3419.       c_space   required and all optional parameters in EPM. 
  3420.  
  3421.       c_enter   required and all optional parameters in EOS2 and E3. 
  3422.  
  3423.     3. Implement a user-exit during page_up, page_down, and enter-key 
  3424.        processing. 
  3425.  
  3426.     4. Replace special keys with the appropriate BookMaster symbols. 
  3427.  
  3428.     5. Ship EPM module compiled with version 5.15. 
  3429.  
  3430. 1.31           11/28/89 
  3431.  
  3432.                Bug fixes: 
  3433.  
  3434.     1. Fix ".nameit" in document. 
  3435.  
  3436.     2. Make it work together with E3NOTE. 
  3437.  
  3438.                Additional functions: 
  3439.  
  3440.     1. Implement FOILS5 tags. 
  3441.  
  3442.     2. Include the symbol support by default. 
  3443.  
  3444.     3. Determine the codepage automatically during startup. 
  3445.  
  3446. 1.40           12/07/89 
  3447.  
  3448.                Bug fixes: 
  3449.  
  3450.     1. Pass c_enter to the routine my_c_enter() if no tag has been processed. 
  3451.  
  3452.     2. The "c_w" key does not work when EBOOKIE is installed. 
  3453.  
  3454.     3. The single quote character (') should not be replaced by the BookMaster 
  3455.        symbol "&ssq.". 
  3456.  
  3457.     4. Symbol support should not be started when the DOS version is older than 
  3458.        3.3. 
  3459.  
  3460.     5. Remove EPM temporary fix for other language assist routines. 
  3461.  
  3462.     6. Fix style tags. 
  3463.  
  3464.                Additional functions: 
  3465.  
  3466.     1. Replace colons of non-tags with "&colon." if using BookMaster. 
  3467.  
  3468.     2. Make EBOOKIE an externally linkable module in EOS2. 
  3469.  
  3470. 1.50           01/11/90 
  3471.  
  3472.                Bug fixes: 
  3473.  
  3474.     1. Fix ":gdoc." tag in "foils5.def". 
  3475.  
  3476.     2. Fix cursor position after "&colon." has been inserted in a BookMaster 
  3477.        document. 
  3478.  
  3479.     3. Symbol support is not activated in DOS 3.3. 
  3480.  
  3481.     4. Support is not activated after a forced index creation in E3. 
  3482.  
  3483.     5. The symbol support is not deactivated after a "bookie off" command. 
  3484.  
  3485.     6. The symbol support is not activated when switching from a tag definition 
  3486.        file which does not include the symbol support to a tag definition file 
  3487.        which requires the support. 
  3488.  
  3489.                Additional functions: 
  3490.  
  3491.     1. Add "my_up()" and "my_down()" user-exits. 
  3492.  
  3493.     2. Change symbol support: 
  3494.  
  3495.       o Define name of symbol file in tag definition file. 
  3496.  
  3497.       o Allow a separate symbol file for each set of tag definition files. 
  3498.  
  3499.     3. Configurable tag-characters to allow the implementation of SGML. 
  3500.  
  3501.     4. Make the symbol which replaces the tag-start-character of invalid tags a 
  3502.        configurable option. 
  3503.  
  3504.     5. Implement APAFOIL tags. 
  3505.  
  3506.     6. Footprint may be anywhere at the beginning of the file, as long as there 
  3507.        are only DCF comments (".*") lines in front of it. 
  3508.  
  3509.     7. Add the capability to pull a file into the text before the tag. 
  3510.  
  3511.     8. More than one file can be copied before or after a tag. 
  3512.  
  3513. 1.51           01/15/90 
  3514.  
  3515.                Bug fixes: 
  3516.  
  3517.     1. Can't compile "bkeys.e" when the symbol support is not configured. 
  3518.  
  3519.     2. Host support doesn't work in EPM. 
  3520.  
  3521.     3. The colors are reset to the defaults in EPM. 
  3522.  
  3523.     4. The "bookie on" command doesn't work in OS/2. 
  3524.  
  3525.     5. A "0" character terminates the tag input. 
  3526.  
  3527. 1.53           03/05/90 
  3528.  
  3529.                Bug fixes: 
  3530.  
  3531.     1. Fix the ":li." tag for APAFOIL. 
  3532.  
  3533.     2. The support doesn't work in OS/2 when the symbol support is not 
  3534.        configured. 
  3535.  
  3536.     3. A message "Invalid number argument, Type any key" is displayed when the 
  3537.        constant "my_bkm_search" is set to anything greater than zero, and a 
  3538.        blank line is encountered during the search for tags. 
  3539.  
  3540.     4. Slow response of EPM after the "shift", "ctrl", or "alt" keys are 
  3541.        pressed. 
  3542.  
  3543.     5. Slow keyboard in EPM. 
  3544.  
  3545.     6. The keys defined in mykeys.e don't work in E3 when EBOOKIE is active. 
  3546.  
  3547.                Additional functions: 
  3548.  
  3549.     1. Option to configure the space key to expand all parameters. 
  3550.  
  3551.     2. Force cursor position with the "@" in the lines after the tag, even if 
  3552.        the tag has some parameters. 
  3553.  
  3554.     3. Make the file extensions which trigger the activation of the support 
  3555.        configurable. 
  3556.  
  3557.     4. Split the tag definition files from the "E" stuff and the executables. 
  3558.  
  3559.     5. Add limited attribute support for EPM. 
  3560.  
  3561. 1.54           04/20/90 
  3562.  
  3563.                Bug fixes: 
  3564.  
  3565.     1. EBOOKIE loops when the attribute support is active and a tag-end 
  3566.        character is the last character of the line. 
  3567.  
  3568.     2. The :foilset tag in FOILS5.DEF has an invalid flag. 
  3569.  
  3570.                Additional functions: 
  3571.  
  3572.     1. The "bkmsym" command to replace all special characters of the file with 
  3573.        the appropriate BookMaster symbol. 
  3574.  
  3575.     2. The "index" command together with the "alt_i" key to create a simple 
  3576.        index. 
  3577.  
  3578.     3. Option not to touch the margin setting in E3. 
  3579.  
  3580. 1.60           06/11/90 
  3581.  
  3582.                Bug fixes: 
  3583.  
  3584.     1. Index creation fails for small tag definition files. 
  3585.  
  3586.                Additional functions: 
  3587.  
  3588.     1. Extensive help facility for BookMaster tags and their attributes. 
  3589.  
  3590.     2. Search for additional tag- and include files along the E(PM)PATH, then 
  3591.        PATH (in DOS) or DPATH (in OS/2), then in the directory where the editor 
  3592.        resides. 
  3593.  
  3594.     3. The index file is stored in the directory defined by the TEMP_PATH (in 
  3595.        MYCNF.E or econfig.e), or in the directory where the main tag definition 
  3596.        file has been found. 
  3597.  
  3598.     4. The tag definition files have the extension ".DEF", the skeleton files 
  3599.        ".SKL". 
  3600.  
  3601.     5. IPF has been added. 
  3602.  
  3603.     6. The "alt_1" key pulls imbed or setup files in the ring. 
  3604.  
  3605. 1.61           07/01/90 
  3606.  
  3607.                Bug fixes: 
  3608.  
  3609.     1. Temporary path is invalid. 
  3610.  
  3611.     2. The BookMaster :hdref tag misses some attributes. 
  3612.  
  3613.     3. EPM 5.16 ends without any message when the alt_i key is pressed, and no 
  3614.        block mark is active. 
  3615.  
  3616.                Additional functions: 
  3617.  
  3618.     1. If the alt_1 key is pressed on a .using macro, the cursor is positioned 
  3619.        at the active .mod macro in the mocha side-file. 
  3620.  
  3621.     2. Index entries are converted to lower case, except when words are all 
  3622.        upper case. 
  3623.  
  3624.     3. Brackets and double quotes are removed during index generation. 
  3625.  
  3626.     4. The block mark for the index generation is removed after processing. 
  3627.  
  3628. 1.62           07/25/90 
  3629.  
  3630.                Bug fixes: 
  3631.  
  3632.     1. No need to load "attr.ex" for attribute support. 
  3633.  
  3634.                Additional functions: 
  3635.  
  3636.     1. Remove attributes before adding new attributes with the "bkmattr" 
  3637.        command. 
  3638.  
  3639.     2. Make the attribute colors configurable. 
  3640.  
  3641.     3. Add the "off" option to the "bkmattr" command to switch off the 
  3642.        attribute support. 
  3643.  
  3644. 1.63           07/25/90 
  3645.  
  3646.                Bug fixes: 
  3647.  
  3648.     1. Remove STDCNF.E from externally linked module. 
  3649.  
  3650.                Additional functions: 
  3651.  
  3652.     1. Remove attributes before adding new attributes with the "bkmattr" 
  3653.        command. 
  3654.  
  3655.     2. Make the attribute colors configurable. 
  3656.  
  3657.     3. Add the "off" option to the "bkmattr" command to switch off the 
  3658.        attribute support. 
  3659.  
  3660. 1.64           10/26/90 
  3661.  
  3662.                Bug fixes: 
  3663.  
  3664.     1. Fix .im processing for host files. (Thanks to Pat Lockhart for the fix.) 
  3665.  
  3666.                Additional functions: 
  3667.  
  3668.     1. EPM 5.18 attribute support. 
  3669.  
  3670.     2. Create an "Ebookie" action in the action bar of EPM. 
  3671.  
  3672. 1.65           12/13/90 
  3673.  
  3674.                Bug fixes: 
  3675.  
  3676.     1. Several fixes for the attribute support under EPM 5.19. 
  3677.  
  3678.     2. Fix problem with a_2 key. 
  3679.  
  3680.     3. Fix :cletter tags (:loc was missing, behaviour of other tags was not 
  3681.        usable). 
  3682.  
  3683.                Additional functions: 
  3684.  
  3685.     1. Add "my_bkm_keep_index_cases" configuration option. 
  3686.  
  3687.     2. Support symbols in DOS releases older than 3.3. 
  3688.  
  3689.     3. Add "my_bkm_codepage" configuration option. 
  3690.  
  3691.     4. Support to keep tags where they have been typed, don't move them to 
  3692.        column one. 
  3693.  
  3694.     5. Additional help support for BookMaster version 3 tags with the "c_h" 
  3695.        key. Thanks to Mike Temple. 
  3696.  
  3697. 1.66           05/06/91 
  3698.  
  3699.                Bug fixes: 
  3700.  
  3701.     1. Make the attribute support work under EPM 5.20 
  3702.  
  3703.     2. Fix the :cit tag. 
  3704.  
  3705.     3. A variable was not correctly initialized causing the first tag to be 
  3706.        expanded incorrectly. 
  3707.  
  3708.                Additional functions: 
  3709.  
  3710.     1. Search for help file for all tag definition files defined in the 
  3711.        footprint. 
  3712.  
  3713.     2. Use Mike Temples help support in EPM with the a_h key, the c_h key has 
  3714.        been removed. 
  3715.  
  3716.     3. The extension of the imbedded file (with alt_1) now is dependent on the 
  3717.        file type specified in the .im macro. 
  3718.  
  3719.     4. Link the definition files to the extension. 
  3720.  
  3721.     5. Option to automatically do a "bkmattr" command during file load. 
  3722.  
  3723.     6. Add the EBOOKIE Users' Guide as viewable document under OS/2. 
  3724.  
  3725. 1.70           09/16/91 
  3726.  
  3727.                Bug fixes: 
  3728.  
  3729.     1. Make it work under EPM 5.50. 
  3730.  
  3731.                Additional functions: 
  3732.  
  3733.     1. Re-implement the Ctrl_h key for help. 
  3734.  
  3735. 2.0            05/28/92 
  3736.  
  3737.                Bug fixes: 
  3738.  
  3739.     1. Tested with OS/2 2.0 and the latest macro library 
  3740.  
  3741.                Additional functions: NONE. 
  3742.  
  3743.                               ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  3744.                               ΓöéWarning                                                     Γöé
  3745.                               Γöé                                                            Γöé
  3746.                               Γöé                                                            Γöé
  3747.                               ΓöéThe attribute support for EPM 5.50 has been temporarily     Γöé
  3748.                               Γöéremoved.                                                    Γöé
  3749.                               ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  3750.  
  3751. 2.2            03/29/93 
  3752.  
  3753.                Bug Fixes (most fixes thanks to Larry Margolis): 
  3754.  
  3755.     1. Added WANT_EBOOKIE flag so users can easily include or omit EBOOKIE 
  3756.        support via MYCNF.E.  Also can set to DYNALINK so users who only use it 
  3757.        occasionally don't have to have BKEYS.EX loaded all the time, but it can 
  3758.        dynamically be linked in when needed.  (See comments in MYSTUFF.XMP.) 
  3759.  
  3760.     2. Fixed up mnemonic on action bar so it works with the current set of 
  3761.        macros, and defined the 'B' as an accelerator key (in 5.50 or above) so 
  3762.        it wouldn't hide alt+B as block mark. 
  3763.  
  3764.     3. Restored attribute support for EPM 5.50.  Made a change so that 
  3765.        inserting characters at the end of a tag won't include those characters 
  3766.        in the highlighting.  Haven't been able to figure out how to make it 
  3767.        work between a  pair, but rather than omit the support because of this, 
  3768.        I added a "Fixup attributes" entry to the menu.  (I'll see if Jason can 
  3769.        suggest anything.) 
  3770.  
  3771.     4. Proper support for Enhanced_Enter_Keys.  Changed default 
  3772.        bkm_attr_colors, since it didn't match the documentation.  (Was 92, 
  3773.        light red on a magenta background, which wasn't too readable; EBOOKIE 
  3774.        SCRIPT said the default was "white on pink", which is 95 if pink means 
  3775.        magenta, or 223 if pink means light magenta; I assumed the latter.) 
  3776.        Added a KEEP_HELP_AT_RIGHT option to specify whether the Help menu 
  3777.        should be maintained as the rightmost menu.  Assumed a default of 1; you 
  3778.        can change it if you disagree.  (Note that this isn't a BKM_ constant, 
  3779.        because other add-ons could use the same flag.)  Got rid of all the 
  3780.        Attribute support universals; most weren't used, and the couple that are 
  3781.        I made constants (saves overhead of initializing the universal 
  3782.        variable). 
  3783.  
  3784.     5. Various code optimizations. 
  3785.  
  3786.     6. Deleted some "return 0" at the end of routines where the result was 
  3787.        never used.  The compiler always adds a "return" at the end of all 
  3788.        routines, so the explicit "return 0" was a waste of code in many cases. 
  3789.  
  3790.     7. Better fix to link error (so don't lose module number).  Deleted the 
  3791.        include of EPMGCNF.SMP and LINK.E; you might want to ship a .ex file 
  3792.        configured that way, but it's wrong for anyone who's recompiling. Also 
  3793.        deleted call to 'loadattributes' from bkm_init, since that gets done by 
  3794.        the DEFLOAD in LOAD.E. 
  3795.  
  3796.     8. Pass along BKMHELP argument to bkm_help(), in case user wants to specify 
  3797.        'a' or 'c'. 
  3798.  
  3799.     9. Added call to fixup_cursor() for GPI version of EPM. 
  3800.  
  3801.    10. Added support for REXX_SYNTAX_ASSIST to BKM_select(). 
  3802.  
  3803.    11. Preserved .modify when adding footprint to a new file for quicker quit. 
  3804.  
  3805.    12. EPM shouldn't be searching EPATH. 
  3806.  
  3807.    13. Supply a BKEYS.EX for EPM 5.51 users. 
  3808.  
  3809.    14. Fix 'CALL: unknown Proc MY_ENTER' error 
  3810.  
  3811.    15. Fix startup if file has no extension or filetype. 
  3812.  
  3813.    16. Fix the word wrapping problem. 
  3814.  
  3815.    17. BKEYS.E doesn't compile with "WANT_EBOOKIE = 1", where the code is 
  3816.        included in the base .EX files. 
  3817.  
  3818.    18. my_bkm_ext_def doesn't work correctly, and is not properly documented. 
  3819.  
  3820.    19. Add "bkmsym on" and "bkmsym off" commands, change pulldown 
  3821.  
  3822.    20. Fix query codepage for EPM 6.0 
  3823.  
  3824.    21. The syntax support is incorrectly switched on after a tag is entered. 
  3825.  
  3826.    22. The file IPFTAGS.DEF contained invalid characters. 
  3827.  
  3828.    23. EPM 6.00 needs Dynalink32() instead of Dynalinkc(). 
  3829.  
  3830.                Additional functions: NONE 
  3831.  
  3832.  
  3833. ΓòÉΓòÉΓòÉ 7.5. Planned Enhancements ΓòÉΓòÉΓòÉ
  3834.  
  3835. Due to lack of time: NONE.