home *** CD-ROM | disk | FTP | other *** search
/ CBM Funet Archive / cbm-funet-archive-2003.iso / cpm / editors / z80emacs.pma / POSTING.0 < prev    next >
Text File  |  1979-12-31  |  13KB  |  318 lines

  1.  
  2.  
  3. tHIS IS THE FIRST POSTING OF THE z80 MICROEMACS SOURCE.
  4.  
  5.  
  6.  
  7. 1. history
  8.  
  9.  
  10.  
  11. i STARTED WITH MICROEMACS 3.6, WHICH SAID
  12.  
  13. " * tHIS PROGRAM IS IN PUBLIC DOMAIN; WRITTEN BY dAVE g. cONROY."
  14.  
  15.  
  16.  
  17. aLL THE FILES BEING EDITED IN THE BUFFERS ARE KEPT IN
  18.  
  19. MEMORY; IT WAS FAIRLY EASY TO COMPILE THE VERSION OF
  20.  
  21. MICROEMACS i USED, AND PRODUCE A RUNNABLE PROGRAM, BUT THE
  22.  
  23. FIRST VERSION HAD NO SPACE AT ALL FOR FILES!
  24.  
  25. (mARCH 1989).
  26.  
  27.  
  28.  
  29. pORTING TO CP/M WAS EASY BECAUSE i USED aztec c ( VERSION
  30.  
  31. 1.05C, FROM 1982 ). i REALLY WOULD HAVE PREFERRED bds/c
  32.  
  33. BECAUSE COMPILATION IS SO FAST, BUT: NO STATIC INITIALIZERS,
  34.  
  35. NO TYPEDEFS, NO "LONG"... i'M NOT SURE IF bds HAS OVERLAYS.
  36.  
  37.  
  38.  
  39.     iF bds HAS OVERLAYS, IT WOULD BE WORTH WHILE PORTING MY
  40.  
  41.     VERSION TO bds. iF IT DOESN'T, AN OVERLAY SYSTEM COULD
  42.  
  43.     BE ADDED.
  44.  
  45.  
  46.  
  47. i STARTED MAKING OVERLAYS AND OPTIMIZING, AND SOON
  48.  
  49. ( jUNE 1989 )
  50.  
  51. COULD EDIT ABOUT 24kb OF ONE FILE ( 58kb tpa ).
  52.  
  53.  
  54.  
  55. aS SOON AS i COULD EDIT 3k, i STARTED USING THE EDITOR TO
  56.  
  57. MAINTAIN ITSELF; EDITORS ARE ALWAYS WELL-TESTED IF YOU USE
  58.  
  59. THEM TO MAINTAIN THEMSELVES.
  60.  
  61.  
  62.  
  63.         tHIS IS WHY THE ORIGINAL FILES WERE SPLIT UP INTO VERY
  64.  
  65.         SMALL PIECES, AND SOME COMMENTS REMOVED.
  66.  
  67.         tHE COMMENTS REMOVED INCLUDE THE MICROEMACS AUTHORS'
  68.  
  69.         NAMES, BUT MICROEMACS IS FREELY AVAILABLE WITH
  70.  
  71.         ATTRIBUTION. nO ATTEMPT TO HIDE THE ORIGIN IS INTENDED.
  72.  
  73.  
  74.  
  75.         i THINK THE VERSION OF MICROEMACS i USED WAS 3.6,
  76.  
  77.         BUT i CAN'T BE SURE.
  78.  
  79.  
  80.  
  81. tHEN i STOPPED AND CREATED A PROGRAM FOR CUSTOMIZATION OF
  82.  
  83. THE BINARIES, FIGURING TO DISTRIBUTE THE Z80ME PROGRAM IN
  84.  
  85. THAT FASHION.
  86.  
  87.  
  88.  
  89. tHERE IS ONE CUSTOMIZATION PROGRAM THAT PATCHES
  90.  
  91. TERMINAL-CONTROL SEQUENCES INTO THE BINARY, AND ANOTHER THAT
  92.  
  93. PATCHES KEYSTROKE-TO-COMMAND BINDINGS.
  94.  
  95.  
  96.  
  97. i COULD FIND NO cp/m bbs TO POST IT TO, AND GAVE UP.
  98.  
  99. ( jULY 1989 ).
  100.  
  101.  
  102.  
  103. dOCUMENTATION WAS NEVER WRITTEN, ESPECIALLY FOR THE
  104.  
  105. CUSTOMIZATION, AND NOW i HAVE TO WORK FROM MEMORY.
  106.  
  107.  
  108.  
  109.     iN FACT, i FIND NO PROGRAM TO PATCH TERMINAL-CONTROL;
  110.  
  111.     THE TERM-CONTROL MODULE WAS WRITTEN TO MAKE THIS
  112.  
  113.     POSSIBLE, THOUGH.
  114.  
  115.  
  116.  
  117. iN aUGUST OR sEPTEMBER, 1991, i SAW A MESSAGE IN COMP.OS.CPM
  118.  
  119. ASKING ABOUT EDITORS. i POSTED A NOTICE ABOUT MICROEMACS FOR
  120.  
  121. CP/M AND GOT MANY HELPFUL AND ENCOURAGING REPLIES.
  122.  
  123.  
  124.  
  125. ----------------------------
  126.  
  127.  
  128.  
  129. 2.      philosophy and features
  130.  
  131.  
  132.  
  133. tHIS PROGRAM ALSO EMBODIES SOME OF MY THOUGHTS ABOUT THE
  134.  
  135. NATURE OF EDITORS. pROGRAMMERS USE THE EDITOR MORE THAN ANY
  136.  
  137. TOOL, AND THINK ABOUT IT LESS THAN ANY OTHER. eVEN WITH A SIMPLE
  138.  
  139. EDITOR LIKE VI, MOST PROGRAMMERS DON'T BOTHER TO LEARN EVERY
  140.  
  141. COMMAND...
  142.  
  143.  
  144.  
  145. tHE VERSION OF MICROEMACS THAT i STARTED WITH WAS AN AWFUL
  146.  
  147. EDITOR, AND i HATED IT. sOME THINGS HAD TO CHANGE IF i WAS
  148.  
  149. TO USE IT, SO i CHANGED THEM.
  150.  
  151.  
  152.  
  153. iF AN EDITOR'S BINDINGS ARE PERFECT FROM THE STANDPOINT OF
  154.  
  155. HAVING NEAT LITTLE MNEMONICS ( ^n FOR "NEXT LINE" ), THEY
  156.  
  157. MAY ARE UNLIKELY TO BE PERFECT FROM THE STANDPOINT OF MAKING
  158.  
  159. FREQUENTLY-USED COMMANDS EASY TO TYPE. a PRIME EXAMPLE IS
  160.  
  161. THE EMACS BINDING OF mETA-F FOR "WORD FORWARDS"; THIS IS A
  162.  
  163. FREQUENTLY-USED COMMAND, AND SHOULD BE one keystroke!
  164.  
  165.  
  166.  
  167.         tHE DEFAULT z80emacs WORD FORWARD IS ^f, WORD BACK IS
  168.  
  169.         ^b, DEL WORD FORWARD IS ^w.
  170.  
  171.  
  172.  
  173. iF AN EDITOR'S BINDINGS ARE PERFECT FROM BOTH OF THE ABOVE
  174.  
  175. STANDPOINTS, THEY STILL WILL RUN INTO TROUBLE WITH THE
  176.  
  177. KEYBOARD: YES, THE DREADED arrow keys.
  178.  
  179.  
  180.  
  181.         iF YOU'RE ALERT, AND LEANING FORWARD OVER THE KEYBOARD,
  182.  
  183.         YOU MAY NOT WANT TO USE THE ARROW KEYS; SUCH IS THE
  184.  
  185.         ARGUMENT IN FAVOR OF VI'S "HJKL".
  186.  
  187.  
  188.  
  189.         iF YOU'RE THINKING INSTEAD OF TYPING, BROWSING INSTEAD
  190.  
  191.         OF HACKING, YOU WANT THE ARROW KEYS TO WORK.
  192.  
  193.  
  194.  
  195.                 z80emacs HAS PREDEFINED ARROW KEYS THAT FIT MOST
  196.  
  197.                 ascii TERMINALS, ^h^j^k^l, AND ^v THE SAME AS ^j.
  198.  
  199.  
  200.  
  201. iF A COMMAND IS HARD TO TYPE, SO WHAT? iF YOU USE IT TWICE
  202.  
  203. IN A ROW, SIMPLY USE THE "repeat last command" KEY!
  204.  
  205. iT APPEARS THAT i NEVER PUT THIS FEATURE INTO z80emacs.
  206.  
  207.  
  208.  
  209. VI HAS TWO DIFFERENT KINDS OF WORD COMMANDS, "w" AND "W"
  210.  
  211. ( IT ALSO PROVIDES FORWARD, BACKWARD, AND FORWARD-TO-END
  212.  
  213. DIRECTIONS FOR THEM ).
  214.  
  215. z80emacs HAS WORD-FORWARD AND WORD-BACKWARD COMMANDS, JUST
  216.  
  217. TWO COMMANDS, BUT THERE IS ANOTHER COMMAND THAT CHANGES THE
  218.  
  219. WAY THESE TWO WORK -- YOU CAN USE VI-STYLE OR EMACS-STYLE
  220.  
  221. WORDS, AND STOP AT END-OF-WORD OR AT BEGINNING-OF-WORD.
  222.  
  223.  
  224.  
  225. z80emacs DOESN'T IMPLEMENT THE VI ^^ ( CONTROL-CARAT )
  226.  
  227. COMMAND, THAT YOU USE TO TOGGLE BETWEEN BUFFERS, BUT IT DOES
  228.  
  229. HAVE THE VI :N COMMAND, THAT YOU USE TO SEQUENTIALLY WALK
  230.  
  231. THE LINKED LIST OF BUFFERS. iT IS INEXCUSABLE FOR ANY EDITOR
  232.  
  233. TO BE WITHOUT AT LEAST ONE OF THESE TWO COMMANDS.
  234.  
  235. bOTH COMMANDS should EXIST.
  236.  
  237.  
  238.  
  239. z80emacs CAN DISPLAY MORE THAN ONE BUFFER ON THE SCREEN AT
  240.  
  241. THE SAME TIME; THIS CAPABILITY WAS PART OF THE ORIGINAL
  242.  
  243. MICROEMACS. wITH MORE THAN ONE BUFFER ON THE SCREEN,
  244.  
  245. HOWEVER, YOU MUST REMEMBER TO TYPE VERY SLOWLY!
  246.  
  247.  
  248.  
  249. z80emacs STORES ITS KEYBOARD MACRO IN A FILE; IT USES THE
  250.  
  251. SAME MECHANISM AS THE "EXECUTE-FILE" COMMAND, WHICH
  252.  
  253. MICROEMACS DIDN'T HAVE.
  254.  
  255. kEYBOARD MACRO EXECUTION IS SLOW, BUT IT'S BETTER THAN
  256.  
  257. RETYPING COMMANDS.
  258.  
  259. sTORING THE KEYBOARD MACRO IN A FILE MEANS THAT YOU CAN USE
  260.  
  261. IT AGAIN AFTER YOU EXIT AND RESTART THE EDITOR.
  262.  
  263.  
  264.  
  265.     iT LOOKS LIKE z80emacs STILL DOESN'T HAVE "EXECUTE
  266.  
  267.     FILE"; HOWEVER, INTERNALLY, "EXECFILE" WOULD USE THE SAME
  268.  
  269.     MECHANISMS THAT YOU USE TO EXECUTE THE KEYBOARD MACRO
  270.  
  271.     FROM A FILE, AND SO "EXEC FILE" CAN BE ADDED WITH
  272.  
  273.     RELATIVE EASE.
  274.  
  275.  
  276.  
  277. z80emacs MAKES ".bak" FILES WHEN IT SAVES OR WRITES.
  278.  
  279.  
  280.  
  281. z80emacs HAS THE "VIKILL" COMMAND; KILLS WHOLE LINES, NO
  282.  
  283. MATTER WHERE THE CURSOR IS IN THE LINE. i DESPISE THE EMACS
  284.  
  285. ^k COMMAND, EXCEPT WHEN USED AS "KILL-TO-END" ( THE
  286.  
  287. EMACS-STYLE KILL IS STILL THERE ).
  288.  
  289.  
  290.  
  291. z80emacs HAS FUNNY VERTICAL ARROWS. uP-ARROW MOVES TWO
  292.  
  293. LINES. bOTH UP-ARROW AND DOWN-ARROW CAN WRAP FROM THE LAST
  294.  
  295. LINE OF THE BUFFER TO THE FIRST LINE. tHESE ARE BOTH BUGS
  296.  
  297. THAT WOULD HAVE BEEN EASY TO FIX; BOTH ARE INTERESTING
  298.  
  299. FEATURES.
  300.  
  301.  
  302.  
  303.         i PUT THE FUNNY UP-ARROW IN MY UNIX VERSION OF EMACS,
  304.  
  305.         AND USED IT FOR AT LEAST A YEAR BEFORE DECIDING i
  306.  
  307.         DIDN'T LIKE IT AFTER ALL ( IT WAS THAT CLOSE TO BEING A
  308.  
  309.         WASH! ). tHE IDEA IS, IF YOU DON'T SPECIFY A PARAMETER,
  310.  
  311.         UP-ARROW MOVES BY TWO LINES; IF YOU DO SPECIFY, IT MOVES
  312.  
  313.         THE CORRECT NUMBER. iF YOU WANT TO MOVE UP 1, 2, 3, 4,
  314.  
  315.         5, OR 6 LINES, IT TAKES 2, 1, 3, 2, 4, OR 3 KEYSTROKES
  316.  
  317.         INSTEAD OF 1, 2, 3, 4, 5, OR 6 KEYSTROKES; AN AVERAGE
  318.  
  319.         SAVINGS OF ONE KEYSTROKE PER LINE. hOWEVER, MOVING UP 1
  320.  
  321.         LINE IS THE MOST COMMON CASE, AND THE EXTRA MENTAL
  322.  
  323.         EFFORT INVOLVED IN OVERSHOOTING AND MOVING DOWN ONE IS
  324.  
  325.         DISTRACTING. ( aS i TYPE THIS, i HAVE FUNNY-UP-ARROW IN
  326.  
  327.         EFFECT ON unix; YOU REALLY DO GET USED TO IT. )
  328.  
  329.  
  330.  
  331. z80emacs HAS TWO DIFFERENT COMMAND INTRODUCERS; ONE FOR
  332.  
  333. POSITIVE VALUES ( ^u, "UNIVERSAL PARAMETER" ), ONE FOR
  334.  
  335. NEGATIVE ( ^\ ). mANY COMMANDS HAVE SPECIAL MEANINGS WITH
  336.  
  337. NEGATIVE PARAMETERS.
  338.  
  339.  
  340.  
  341.     aCCORDING TO MY EDITOR THEORIES, IT'S EASIER TO LEARN
  342.  
  343.     AND REMEMBER SOME OF THE ODD COMMANDS IF THEY'RE
  344.  
  345.     SHOEHORNED ONTO NORMAL COMMANDS WITH SPECIAL PARAMETERS.
  346.  
  347.  
  348.  
  349.     fOR EXAMPLE, TAKE THE "GO-TO-START-OF-LINE" COMMAND,
  350.  
  351.     WITH THE NORMAL EMACS BINDING OF ^a; IF YOU JUST ENTER
  352.  
  353.     ^a WITH NO PARAMETERS, YOU GO TO COLUMN 0; WITH THE
  354.  
  355.     "SHOEHORN" THEORY IN EFFECT, IF YOU SPECIFY A POSITIVE
  356.  
  357.     PARAMETER, YOU GO TO COLUMN n, AND IF YOU SPECIFY A
  358.  
  359.     NEGATIVE PARAMETER, YOU GO TO THE FIRST NON-WHITE-SPACE
  360.  
  361.     CHARACTER IN THE LINE. i FEEL THIS IS BETTER THAN HAVING
  362.  
  363.     THREE SEPARATE COMMANDS ( VI "0", "{$7c}", AND "_",
  364.  
  365.     RESPECTIVELY.
  366.  
  367.  
  368.  
  369. mETADIGITS START ARGUMENTS.
  370.  
  371. tHEY START ARGUMENTS BETWEEN THOSE WHO LIKE THEIR EMACS TO
  372.  
  373. ACCEPT ESCAPE-9 AS A COMMAND, AND THOSE WHO LIKE IT TO
  374.  
  375. SUPPLY AN ARGUMENT OF 9 TO THE NEXT COMMAND.
  376.  
  377. i AM IN THE LATTER CAMP, SO IN z80emacs,
  378.  
  379. mETADIGITS START ARGUMENTS.
  380.  
  381.  
  382.  
  383. z80emacs HAS THE VI "FIND-CHARACTER-IN-LINE" COMMAND.
  384.  
  385.  
  386.  
  387. z80emacs HAS THE "GOTO LINE BY LINE NUMBER" COMMAND.
  388.  
  389. (BUT DOESN'T DISPLAY LINE NUMBERS, SO IT'S NOT AS USEFUL A
  390.  
  391. COMMAND AS IT SHOULD BE).
  392.  
  393.  
  394.  
  395. z80emacs ALLOWS YOU TO CHANGE THE BUFFER NAME AS WELL AS THE
  396.  
  397. FILE NAME.
  398.  
  399.  
  400.  
  401. z80emacs HAS THE VI "GO TO COLUMN NUMBER" COMMAND: "GO TO
  402.  
  403. START OF LINE" WITH A POSITIVE PARAMETER GOES TO A SPECIFIC
  404.  
  405. COLUMN IN THE LINE. ( WITH A NEGATIVE PARAMETER, IT GOES TO
  406.  
  407. END-OF-LINE. )
  408.  
  409.  
  410.  
  411. -----------------------------------------------
  412.  
  413.  
  414.  
  415. aLAS, NO REGULAR EXPRESSIONS, NO SEARCH-REPLACE.
  416.  
  417.  
  418.  
  419. -----------------------------------------------
  420.  
  421.  
  422.  
  423. 3.      optimization to save space
  424.  
  425.  
  426.  
  427. iN ORDER TO HAVE MORE ROOM FOR EDITING FILES, THE PROGRAM
  428.  
  429. HAD TO BE MADE SMALLER. a LARGE PART OF THIS WAS DONE BY
  430.  
  431. MOVING THINGS TO OVERLAYS, BUT SOME OF IT WAS PURE
  432.  
  433. BYTE-SQUEEZING.
  434.  
  435.  
  436.  
  437. mOST OF THE OPTIMIZATION WAS DONE IN THE ROOT SEGMENT, BUT
  438.  
  439. SEVERAL OVERLAYS WERE OPTIMIZED TO MAKE THE OVERLAY AREA
  440.  
  441. SMALLER.
  442.  
  443.  
  444.  
  445. tHE KEY TO GOOD PERFORMANCE WITH OVERLAYS IS TO HAVE ALL THE
  446.  
  447. MOST-OFTEN-USED COMMANDS IN ONE OVERLAY: THIS IS OVUDFB31.C
  448.  
  449. ( OVERLAY UP DOWN FORWARD BACK, OVERLAY 31 )
  450.  
  451.  
  452.  
  453. aLMOST EVERY FILE WAS TOUCHED.
  454.  
  455.  
  456.  
  457. sIMPLE THINGS LIKE "PUTTING THE MOST-OFTEN-USED STRUCTURE
  458.  
  459. MEMBER FIRST IN THE STRUCTURE" CAN SAVE A LOT OF BYTES.
  460.  
  461. uSING EXACTLY THE RIGHT NUMBER OF REGISTER VARIABLES HELPS.
  462.  
  463. mAKING EXACTLY THE RIGHT VARIABLES INTO REGISTERS HELPS.
  464.  
  465. yOU HAVE TO EXPERIMENT WITH YOUR COMPILER...
  466.  
  467.  
  468.  
  469. #DEFINE TEMP_INT (*(INT *)0XC0)
  470.  
  471. SAVES BYTES, COMPARED TO A STACK VARIABLE; IF zcpr USES THIS
  472.  
  473. AREA, TOO BAD. i USED A SIMPLE cp/m 2.2, WITH ccpplus,
  474.  
  475. AND THE ORIGINAL ( dIGITAL rESEARCH ) bdos.
  476.  
  477. i USED ZSID ON THE PROGRAM TO FIND OUT WHERE IN MAIN() THE
  478.  
  479. MAIN PROCESSING LOOP STARTS, AND USED UP THOSE ADDRESSES AS
  480.  
  481. VARIABLE ADDRESSES; i ALSO DISCOVERED THAT NOBODY WAS USING
  482.  
  483. 0XC0 TO 0XCF, AND USED THOSE LOCATIONS AS WELL.
  484.  
  485.  
  486.  
  487. uSING TEMPORARY VARIABLES INSTEAD OF REPEATED
  488.  
  489. CURWP->W_BUFP->B_DOTP->SOMETHING->SOMETHING_ELSE
  490.  
  491. SAVES A LOT OF BYTES.
  492.  
  493.  
  494.  
  495. rEWRITING THE WHOLE THING WITH A BETTER ALGORITHM ALSO SAVES
  496.  
  497. A LOT SOMETIMES!
  498.  
  499.  
  500.  
  501. wHEN MICROEMACS LENGTHENS A LINE, OR WHEN IT CREATES A NEW
  502.  
  503. LINE, IT ALLOCATES 16 BYTES. z80emacs ALLOCATES 4 BYTES.
  504.  
  505. tHE SAVINGS IS TREMENDOUS, ESPECIALLY WHEN THERE ARE BLANK
  506.  
  507. LINES IN THE FILE.
  508.  
  509.  
  510.  
  511.         tHIS IS IN LINE.C; FOR A WHILE, i HAD coherent 3.0,
  512.  
  513.         WHICH CAME WITH MICROEMACS 3.8 AS ITS ONLY EDITOR.
  514.  
  515.         i MADE THE SAME CHANGE THERE, BECAUSE THEY ONLY HAD
  516.  
  517.         SMALL-MODEL COMPILER, AND IT DUMPED CORE!
  518.  
  519.  
  520.  
  521. tHE aztec c LIBRARY WAS AVAILABLE IN SOURCE FORM. i CHOPPED
  522.  
  523. IT DOWN BY QUITE A FEW BYTES. gOODBYE, STDERR!
  524.  
  525.  
  526.  
  527. rEPLACING SHARED, DUPLICATED CODE WITH A "GOTO" IS AN
  528.  
  529. OPTIMIZATION THAT A REAL c COMPILER WILL PERFORM.
  530.  
  531. tHE ONE THAT COMES FREE WITH unix DOESN'T DO IT, AND NEITHER
  532.  
  533. DOES cp/m aztec c. ( "GCC" DOES, THOUGH. )
  534.  
  535.  
  536.  
  537. mAKING THE MESSAGES MORE TERSE SAVES BYTES!
  538.  
  539.  
  540.  
  541. 4.      structure of the program and of the postings
  542.  
  543.  
  544.  
  545. COMP.OS.CPM ISN'T A "SOURCE-FILES" NEWSGROUP.
  546.  
  547. tHE WHOLE SOURCE ADDS UP TO JUST UNDER 600kb, UNCOMPRESSED.
  548.  
  549. oNE IS NOT SUPPOSED TO POST SO MUCH TO COMP.OS.CPM...
  550.  
  551.  
  552.  
  553. i DON'T HAVE DIRECT INTERNET ACCESS, SO i CAN'T JUST POP IT
  554.  
  555. INTO AN ARCHIVE SITE.
  556.  
  557.  
  558.  
  559. i'VE DECIDED TO HANDLE THE SOURCE BY MAILING IT TO A VOLUNTEER
  560.  
  561. >> ACKNOWLEDGED IN THE iNTERNET VERSION OFTHIS FILE <<
  562.  
  563. WHO CAN SIMPLY STICK IT INTO AN INTERNET ARCHIVE SITE.
  564.  
  565.  
  566.  
  567.     tHIS WILL BE PART00, AND IT WILL RUN TO ABOUT 8 PARTS.
  568.  
  569.  
  570.  
  571. tHE z80emacs EDITING SYSTEM NOW CONSISTS OF 3 ".com" FILES,
  572.  
  573. A SLEW OF OVERLAY FILES, A TEXT DATA FILE, A ".sym" FILE,
  574.  
  575. SOURCE OF ONE MODULE, AND MINIMAL DOCUMENTATION.
  576.  
  577.  
  578.  
  579. iT SUPPORTS ascii AND ansi TERMINALS, BUT THE USER HAS TO
  580.  
  581. PATCH IT BY HAND; THIS USES THE SOURCE FILE AND THE ".sym"
  582.  
  583. FILE.
  584.  
  585.  
  586.  
  587. bINDING OF KEYSTROKES TO EDITOR COMMANDS IS A TWO-STEP
  588.  
  589. PROCEDURE, USING TWO OF THE ".com" FILES, THE TEXT FILE, AND
  590.  
  591. THE ".sym" FILE. MAPKEYS.COM MAKES A MAPPING, WRITING IT TO
  592.  
  593. AN INTERMEDIATE FILE; MECONFIG.COM USES THE INTERMEDIATE
  594.  
  595. FILE TO PATCH me.com.
  596.  
  597.  
  598.  
  599. z80emacs CAN FIND ITS OVERLAYS IF THEY ARE ON THE CURRENT
  600.  
  601. DRIVE, ON DRIVE A:, OR ON DRIVE B:, OR ON DRIVE C:, BUT ONLY
  602.  
  603. ( i THINK ) IN THE CURRENT USER AREA -- CHECKING OTHER USER
  604.  
  605. AREAS IS A JOB FOR A MORE ADVANCED bdos THAN THE ONE i USED,
  606.  
  607. NOT A JOB FOR AN APPLICATION PROGRAM.
  608.  
  609.  
  610.  
  611. tHERE ARE ONLY TWO KNOWN BUGS:
  612.  
  613.  
  614.  
  615. 1.      rANDOM CRASHES, ABOUT ONCE EVERY THREE OR FOUR HOURS.
  616.  
  617.         nO CLUES, AND IT DOESN'T HAPPEN OFTEN ENOUGH TO MAKE IT
  618.  
  619.         EASY TO TRACK DOWN.
  620.  
  621.  
  622.  
  623. 2.      tHE FILE YOU NAME ON THE COMMAND LINE DOESN'T GET READ
  624.  
  625.         IN. tHE BUFFER GETS NAMED OKAY, BUT THE FILE IS NEVER
  626.  
  627.         READ.
  628.  
  629.  
  630.  
  631. nOTE: BOTH THE BUGS WERE FIXED SINCE THE ABOVE WAS WRITTEN.
  632.  
  633. sEVERAL OTHER THINGS WERE ALSO CORRECTED.
  634.  
  635.