home *** CD-ROM | disk | FTP | other *** search
/ Frozen Fish 1: Amiga / FrozenFish-Apr94.iso / bbs / alib / d6xx / d645 / dmd.lha / DMD / Doc / DMD2.doc next >
Text File  |  1992-04-26  |  40KB  |  920 lines

  1.             DMD V2.00 © 1992 Fergus Duniho
  2.             DMD stands for "Duniho's Macros for DME".
  3.             A Set of Native and ARexx Macros for DME.
  4.  
  5.              ************************************************
  6.              *                                              *
  7.              * This product is Tradeware.                   *
  8.              *                                              *
  9.              * If you use it, send me a disk of freely      *
  10.              * distributable software that you find useful, *
  11.              * that you think I will find useful, or that   *
  12.              * you have written.                            *
  13.              *                                              *
  14.              * ST/NT/PT and MED Modules, ARexx libraries,   *
  15.              * ARexx hosts, and complimentary registered    *
  16.              * copies of your own shareware are             *
  17.              * particularly welcome. But no matter what     *
  18.              * you send me, I will appreciate the disk.     *
  19.              *                                              *
  20.              * Send all contributions to:                   *
  21.              *                                              *
  22.              * Fergus Duniho                                *
  23.              * 1170 Genesee St. B3 A7                       *
  24.              * Rochester, NY 14611                          *
  25.              *                                              *
  26.              ************************************************
  27.  
  28.        I.   Documentation on a good number of the macros.
  29.  
  30.            A.   The Return Key
  31.  
  32.                1.   Unmodified:
  33.  
  34.                     Splits the line at the cursor and aligns the split part
  35.                     with the beginning of the line. When there are no more
  36.                     characters in the line, it aligns the remainder with
  37.                     the cursor's current column position.
  38.  
  39.                2.   Alt:
  40.  
  41.                     Soft Return. Moves the cursor to the first non-blank of
  42.                     the next line. When there is no next line, it adds one.
  43.  
  44.                3.   Amiga:
  45.  
  46.                     Moves to the next blank line, inserts two new blank
  47.                     lines, and moves down one line, such that there are
  48.                     three blank lines between two sections of text, and the
  49.                     cursor is in the middle line between them, where you
  50.                     can begin typing in a new section of text.
  51.  
  52.                4.   Control:
  53.  
  54.                     The paragraphing macro. Splits the line, makes sure
  55.                     that there is a blank line between the line that was
  56.                     split and the part that was split off, indents the
  57.                     split part at column 9, sets the left margin to 0, and
  58.                     reformats the paragraph that the split part starts.
  59.  
  60.            B.   The Tab Key
  61.  
  62.                1.   Unmodified: Soft Tab
  63.  
  64.                2.   Alt: Moves a line forward to the next tab.
  65.  
  66.                3.   Amiga: Moves a line forward four spaces.
  67.  
  68.                4.   Control: Hard Tab.
  69.  
  70.                5.   Shift: Modifies any of the above combinations, such
  71.                     that the movement is backwards instead of forwards.
  72.  
  73.            C.   The Cursor Keys
  74.  
  75.                1.   Unmodified:
  76.  
  77.                    a.   Up:
  78.  
  79.                         Moves cursor up to the previous line. If the cursor
  80.                         finds itself before the first non-blank of its new
  81.                         line, it moves to the first non-blank. If it finds
  82.                         itself beyond the last non-blank in a line, it
  83.                         moves to the position after it if the last
  84.                         character is alphanumeric. If the last character is
  85.                         not alphanumeric, it moves to the next space,
  86.                         leaving a space between the cursor and the last
  87.                         character of the line.
  88.  
  89.                    b.   Down:
  90.  
  91.                         Same as Up, but moves down. If you are at the last
  92.                         line, the down key will not move you down further.
  93.  
  94.                    c.   Left:
  95.  
  96.                         Moves the cursor left. If it can't move left any
  97.                         further, the cursor will move to the end of the
  98.                         previous line.
  99.  
  100.                    d.   Right:
  101.  
  102.                         Moves the cursor right. If the cursor is at the end
  103.                         of a line or beyond, the cursor will move to the
  104.                         first non-blank of the next line.
  105.  
  106.                2.   Alt:
  107.  
  108.                    a.   Up: Moves to top of the document.
  109.  
  110.                    b.   Down: Moves to the bottom and end of the document.
  111.  
  112.                    c.   Left: Moves to the first non-blank.
  113.  
  114.                    d.   Right: Moves to the end of the line.
  115.  
  116.                3.   Amiga: Controls mouse movement.
  117.  
  118.                4.   Control:
  119.  
  120.                    a.   Up & Down: Combine with other cursor key
  121.                         combinations to block the lines that the cursor
  122.                         moves across.
  123.  
  124.                    b.   Left: Move to column 1
  125.  
  126.                    c.   Right: Move forward one margin length.
  127.  
  128.                5.   Shift:
  129.  
  130.                    a.   Up & Down: Move up or down one page.
  131.  
  132.                    b.   Left & Right: Move to the previous or next word.
  133.  
  134.            D.   Delete and Backspace
  135.  
  136.                1.   Unmodified: Delete one character.
  137.  
  138.                2.   Alt: Delete to end or beginning of line.
  139.  
  140.                3.   Amiga: Delete to the next or previous non-blank.
  141.  
  142.                4.   Control: Delete to the top or bottom of the document.
  143.  
  144.                5.   Delete: "Del" deletes the remainder of the word; BS
  145.                     deletes the previous word, or the beginning of the
  146.                     current word if the cursor was not on the first
  147.                     character of the word.
  148.  
  149.            E.   The Numeric Keypad
  150.  
  151.                1.   Unmodified: What the keys say on top.
  152.  
  153.                2.   Alt:
  154.  
  155.                    a.   0 (Ins): Inserts at the current cursor location a
  156.                         copy of the last line that was deleted with the
  157.                         deline command.
  158.  
  159.                    b.   . (Del): Deletes the current line with deline.
  160.                         (Note: a-z undeletes the last line you deleted with
  161.                         deline.)
  162.  
  163.                    c.   1 (End): 1
  164.  
  165.                    d.   2 (Down Arrow): Moves the current line to the next
  166.                         row.
  167.  
  168.                    e.   3 (Pg Dn): 3
  169.  
  170.                    f.   4 (Left Arrow): Moves the current word one word to
  171.                         the left.
  172.  
  173.                    g.   5: 5
  174.  
  175.                    h.   6 (Right Arrow): Moves the current word one word to
  176.                         the right.
  177.  
  178.                    i.   7 (Home): 7
  179.  
  180.                    j.   8 (Up Arrow): Moves the current line up to the
  181.                         previous row.
  182.  
  183.                    k.   9 (Pg Up): 9
  184.  
  185.                    l.   - : Makes the screen half size.
  186.  
  187.                    m.   + : Makes the screen full size.
  188.  
  189.                    n.   Enter: Lets you use the an ARexx calculator. You
  190.                         type in what you want calculated on the command
  191.                         line, and the answer appears in the title bar.
  192.  
  193.                3.   Amiga:
  194.  
  195.                    a.   0 (Ins): Toggles insertmode.
  196.  
  197.                    b.   . (Del): .
  198.  
  199.                    c.   1 (End): ?
  200.  
  201.                    d.   2 (Down Arrow): Moves to the next outline section of
  202.                         the same level.
  203.  
  204.                    e.   3 (Pg Dn): Moves to the beginning of the next
  205.                         section of text.
  206.  
  207.                    f.   4 (Left Arrow): Moves to the beginning of text in
  208.                         an outline section.
  209.  
  210.                    g.   5: Blocks a section of text.
  211.  
  212.                    h.   6 (Right Arrow): Moves to the end of an outline
  213.                         section.
  214.  
  215.                    i.   7 (Home): Moves to the beginning of an outline
  216.                         section.
  217.  
  218.                    j.   8 (Up Arrow): Moves to the  previous outline
  219.                         section of the same level.
  220.  
  221.                    k.   9 (Pg Up): Moves to the beginning of the previous
  222.                         section of text.
  223.  
  224.                    l.   - : Decrements the outline heading by one.
  225.  
  226.                    m.   + : Increments the outline heading by one.
  227.  
  228.                    n.   Enter: Nothing
  229.  
  230.                4.   Control:
  231.  
  232.                    a.   0 (Ins): Inserts 3 lines, and places the cursor on
  233.                         the second.
  234.  
  235.                    b.   . (Del): Kills the RAM Buffer.
  236.  
  237.                    c.   1 (End): 1
  238.  
  239.                    d.   2 (Down Arrow): Moves to the next paragraph.
  240.  
  241.                    e.   3 (Pg Dn): 3
  242.  
  243.                    f.   4 (Left Arrow): Replace Previous
  244.  
  245.                5.   Shift:
  246.  
  247.                    a.   0 (Ins): Insert the last word that was read by
  248.                         scanf. This will often be that last word that was
  249.                         deleted by Shift-nk., Shift-Del, or Shift-BS.
  250.  
  251.                    b.   . (Del): Delete the word that the cursor is on.
  252.  
  253.                    c.   1 (End): Move to the bottom left corner of the
  254.                         screen.
  255.  
  256.                    d.   2 (Down Arrow): Down
  257.  
  258.                    e.   3 (Pg Dn): Move down a page, and move the cursor to
  259.                         column 1.
  260.  
  261.                    f.   4 (Left Arrow): Left
  262.  
  263.                    g.   5: 5
  264.  
  265.                    h.   6 (Right Arrow): Right
  266.  
  267.                    i.   7 (Home): Move to the top left corner of the
  268.                         screen.
  269.  
  270.                    j.   8 (Up Arrow): Up
  271.  
  272.                    k.   9 (Pg Up): Move up one page, and move the cursor
  273.                         to column 1.
  274.  
  275.            F.   Help:
  276.  
  277.                1.   Unmodified: Opens S.edrc in a newwindow.
  278.  
  279.                2.   Control: Shows what is mapped to the key combination
  280.                     that you specify in the requester.
  281.  
  282.                3.   Shift: Opens S:startup-sequence in a newwindow.
  283.  
  284.            G.   The Function Keys:
  285.  
  286.                1.   Unmodified:
  287.  
  288.                    a.   F1: Insert File
  289.  
  290.                    b.   F2: Replace File
  291.  
  292.                         An internal ARexx Macro which works like arpload
  293.                         except that it retains the path name of the file
  294.                         that it loads.
  295.  
  296.                    c.   F3: Open New File
  297.  
  298.                         An internal ARexx Macro that opens a new file in a
  299.                         new window. Like "Replace File," it retains the
  300.                         path name.
  301.  
  302.                    d.   F4: New Window
  303.  
  304.                    e.   F5: Mark current location and move to the last
  305.                         place that was marked with F5.
  306.  
  307.                    f.   F6: Save File if Modified, then Iconify
  308.  
  309.                    g.   F7: Save Block
  310.  
  311.                         An internal ARexx Macro that calls the ARP File
  312.                         Requester and saves the block under the file name
  313.                         you indicate in the requester.
  314.  
  315.                    h.   F8: Save File, then Replace File
  316.  
  317.                    i.   F9: Save File
  318.  
  319.                    j.   F10: Save File, then Quit (An internal ARexx Macro)
  320.  
  321.                2.   Amiga: Pong to the location corresponding to the
  322.                     function key number. A-F10 = pong 0. A-F1 to A-F6 are
  323.                     the most useful. Various macros use ping and pong 7
  324.                     through 0.
  325.  
  326.                3.   Control
  327.  
  328.                    a.   c-F1: AShell
  329.  
  330.                    b.   c-F2: Arpload
  331.  
  332.                    c.   c-F3: Arpload in a new window
  333.  
  334.                    d.   c-F4: Change File Name
  335.  
  336.                    e.   c-F5: Delete Disk File
  337.  
  338.                         This macro calls up a file requester and deletes
  339.                         each file that you request. After you request a
  340.                         file, it deletes the file, and comes back so that
  341.                         you can request another file to delete. When you
  342.                         are finished deleting files, you should hit
  343.                         "Cancel".
  344.  
  345.                    f.   c-F6: Move or Rename Disk File
  346.  
  347.                         This macro calls up a file requester for you to
  348.                         select a file you want to move or rename. It then
  349.                         brings up another requester for you to select the
  350.                         destination or new name.
  351.  
  352.                    g.   c-F7: Call ARexx Macro
  353.  
  354.                         An internal ARexx macro that brings up a file
  355.                         requester for you to select an ARexx macro, which
  356.                         it then calls.
  357.  
  358.                    h.   c-F8: Run Program
  359.  
  360.                         This macro brings up a file requester for you to
  361.                         select a program that you want to run. This macro
  362.                         requires that you have runback in C:.
  363.  
  364.                    i.   c-F9: Preferences
  365.  
  366.                         This macro runs Preferences. If you use PPrefs, as
  367.                         I do, then you should modify this macro.
  368.  
  369.                    j.   c-F10: Source File
  370.  
  371.                         An internal ARexx macro which brings up a file
  372.                         requester that is initially set to S:.edrc. It
  373.                         sources whatever file you select with the
  374.                         requester.
  375.  
  376.                4.   Shift:
  377.  
  378.                    a.   s-F1 - s-F6: Mark the current location with a ping
  379.                         that corresponds to the function key number, and
  380.                         record its location on the "Goto" menu.
  381.  
  382.                    b.   s-F7: Print File
  383.  
  384.                    c.   s-F8: Use PPMore to preview a file that contains
  385.                         ANSI codes.
  386.  
  387.                    d.   s-F9: Save File and Change its Name (An internal
  388.                         ARexx Macro)
  389.  
  390.                    e.   s-F10: Append Block to File
  391.  
  392.            H.   Macros I use with GEnie:
  393.  
  394.                1.   a-. sets off and reformats text. I use it when I quote
  395.                     bulletin board messages I am responding to on GEnie. It
  396.                     makes text look like this:
  397.  
  398.  **> Humpty Dumpty sat on a wall. Humpty Dumpty had a great fall. And all
  399.  **> the king's horses and all the king's men couldn't put Humpty Dumpty
  400.  **> back together again.
  401.  
  402.                2.   a-, takes the second two lines of the three-line
  403.                     identification heading that appears at the top of a
  404.                     message on GEnie, and it changes it to tell whose
  405.                     message I am responding to. For instance, it changes
  406.  
  407. Message 1         Sat Aug 31, 1991
  408. F.DUNIHO [Fergus]            at 19:22 EDT
  409.  
  410.                     to
  411.  
  412.     RE: Message 1 by F.DUNIHO [Fergus]
  413.  
  414.       II.   The Menus
  415.  
  416.            A.   Project
  417.  
  418.                 This menu contains macros for opening and saving files, and
  419.                 some other things. Many are ARexx macros that use the ARP
  420.                 File Requester. See the appropriate keymap descriptions for
  421.                 more details.
  422.  
  423.            B.   Format
  424.  
  425.                1.   Reformat Entire Document: This macro reformats every
  426.                     paragraph in a document, while preserving the
  427.                     appropriate left margin for each paragraph. At each
  428.                     paragraph, it checks for where the second line begins,
  429.                     and sets the left margin to that column value. It then
  430.                     reformats the paragraph. If a paragraph has only one
  431.                     line, it sets the left margin to -1. For this macro to
  432.                     work properly, each paragraph should be separated by a
  433.                     blank line.
  434.  
  435.                2.   Indent & Reformat Each ¶: When you save a word
  436.                     processor file in TEXT format, it drops your
  437.                     formatting, leaving you with a document whose lines are
  438.                     all left aligned, and whose paragraphs are single
  439.                     spaced and separated by a blank line between each.
  440.                     This macro takes such a document, indents every
  441.                     paragraph in it, and reformats the paragraph.
  442.  
  443.                3.   Justify Left & Right, Center, Indent: These can be used
  444.                     on either one line or a block. When they are used with
  445.                     a block, they use Justify.dme in REXX:. Center also
  446.                     uses it for a single line. Indent moves every line in a
  447.                     block N spaces. I use it to adjust the actual left
  448.                     margin of a document before I print it, since it gets
  449.                     printed at the edge otherwise.
  450.  
  451.                4.   Single Space: This macro single spaces a block, and it
  452.                     puts a blank line between each paragraph. Since it
  453.                     considers any line that doesn't begin at column 1 as
  454.                     the start of a new paragraph, it will not single space
  455.                     indented text. You should use A-3 for that.
  456.  
  457.            C.   Outline
  458.  
  459.                1.   Position Roman Heading (A-r): Positions a Roman numeral
  460.                     outline heading, and reformats the text of the outline
  461.                     section.
  462.  
  463.                2.   Position Non-Roman Heading (A-h): Same as above, but
  464.                     works with non-Roman headings. Both A-r and A-h are
  465.                     needed, for the computer cannot itself distinguish
  466.                     between Roman numerals and letters. For instance, it
  467.                     can't tell whether "V." should come after "IV." or
  468.                     after "U.".
  469.  
  470.                     A-r and A-h give you the following outline structure:
  471.  
  472.        I.   Capital Roman Numerals Followed by a Period
  473.  
  474.            A.   Capital Letters Followed by a Period
  475.  
  476.                1.   Arabic Numerals Followed by a Period
  477.  
  478.                    a.   Lowercase Letters Followed by a Period
  479.  
  480.                        i.   Lowercase Roman Numerals Followed by a Period.
  481.  
  482.                            1)   Arabic Numerals Followed by a Right
  483.                                 Parenthesis.
  484.  
  485.                                a)   Lowercase Letters Followed by a Right
  486.                                     Parenthesis.
  487.  
  488.                                    i)   Lowercase Roman Numerals Followed
  489.                                         by a Right Parenthesis.
  490.  
  491.                     To write an outline section, type in your heading
  492.                     anywhere on the line, hit the appropriate macro key,
  493.                     then type in your text.  If you have wordwrap on, your
  494.                     text will automatically wrap underneath where your text
  495.                     began, rather than underneath your heading, where you
  496.                     would otherwise expect it to wrap.  When you finish an
  497.                     outline section, you should hit A-Return and begin your
  498.                     next section.  A-Return will assure that you have a
  499.                     blank line between each outline section.  It is very
  500.                     important that there be a blank line between each
  501.                     section, else they may flow into each other, and it
  502.                     would be impossible to use the macros that move you
  503.                     from one section to another, for they use recognize the
  504.                     blank line as a delimiter.
  505.  
  506.                3.   Increment Heading:
  507.  
  508.                     This macro changes the outline heading on the line of
  509.                     the cursor to the heading that comes after it. For
  510.                     instance, it would change "III." to "IV.", the Roman
  511.                     numeral "I." to "II.", the letter "I." to "J.", the
  512.                     number "5." to "6.", etc. The heading must be properly
  513.                     positioned for this macro to work, for it uses the
  514.                     position to distinguish between Roman numerals and
  515.                     letters. This is an ARexx macro that makes use of the
  516.                     ARexx macros Roman.dme and Arabic.dme to convert
  517.                     between Roman and Arabic numerals for the purpose of
  518.                     incrementing Roman numerals by converting them to
  519.                     Arabic, adding 1, then switching back to Roman.
  520.  
  521.                4.   Decrement Heading: Same as above, but decrements.
  522.  
  523.                5.   Align Section w/ Above Section:
  524.  
  525.                     This macro looks at the previous outline section, and
  526.                     makes the heading of the current outline section into
  527.                     what should come after the previous one. If the
  528.                     previous one was "IV.", for instance, then then the
  529.                     current heading will become "V." no matter what it was
  530.                     before.
  531.  
  532.                6.   Subordinate Section:
  533.  
  534.                     This macro looks at the previous outline section, and
  535.                     makes the heading of the current outline section into
  536.                     what should be the first sub-section of the previous
  537.                     heading. If the previous one was "IV.", for instance,
  538.                     then the current heading will become "A." no matter
  539.                     what it was before.
  540.  
  541.                7.   Reformat Entire Outline:
  542.  
  543.                     This macro works best if your entire document is an
  544.                     outline. For the purpose of reformating an outline,
  545.                     "Reformat Entire Document" can be used, but I think
  546.                     that this macro is more reliable. But if your document
  547.                     is not purely an outline, it will be better to use
  548.                     "Reformat Entire Document."
  549.  
  550.                8.   Renumber Outline Block:
  551.  
  552.                     This macro renumbers the blocked portion of an outline.
  553.                     The outline section should be properly positioned for
  554.                     this macro to work properly. It uses the first outline
  555.                     section in the block as a standard for what all the
  556.                     other headings in the block should be. If the first one
  557.                     is "I.", then the next one will be "II." if it on the
  558.                     same level or "A." if it is on the next level. If a
  559.                     section is not on a higher level, the same level, or
  560.                     the next lower level as the previous section, the macro
  561.                     will stop and tell you that there is an error in your
  562.                     outline. Nothing will be renumbered if this happens.
  563.                     You must have no errors to successfully renumber an
  564.                     outline block. An example of an error would be "1)"
  565.                     coming after "B.".
  566.  
  567.            D.   Buffer
  568.  
  569.                 These macros affect a buffer on the RAM DISK. Copy puts the
  570.                 contents of the current line or block into the buffer. Cut
  571.                 does the same as Copy and then deletes what it has copied
  572.                 from the file. Paste inserts the contents of the buffer
  573.                 into the file. Append copies the current line or block to
  574.                 the end of the buffer without erasing what was previously
  575.                 in the buffer. Cut & Append is the same as Append, but
  576.                 deletes what it appends. Swap with Block exchanges the
  577.                 contents of the buffer with the current block. Sort uses
  578.                 C:Sort to sort the lines in the buffer. Kill deletes the
  579.                 buffer. Find & Collect finds every line with the find
  580.                 string, cuts the first one into the buffer, and cuts and
  581.                 appends all the rest into the buffer.
  582.  
  583.            E.   Block
  584.  
  585.                 These are mostly DME's own basic editing commands.
  586.                 "Exchange w/ Line" exchanges the block with the current
  587.                 line. "Append to File" appends the contents of the block to
  588.                 a file that you select with the file requester.
  589.  
  590.            F.   Goto
  591.  
  592.                 This menu keeps track of where (pong 1) through (pong 6)
  593.                 will send you--as long as you use this menu or s-F1 through
  594.                 s-F6 to set these markers.
  595.  
  596.            G.   Find
  597.  
  598.                1.   Find Requester
  599.  
  600.                     This macro uses the RexxArpLib.library to call up a
  601.                     requester for the find and replace operations. The
  602.                     requester has string gadgets for the find string, the
  603.                     replace string, the number of replacements, and case
  604.                     sensitivity. It stores the find string, the replace
  605.                     string, and case sensitivity in the the environment
  606.                     variables F, R, and Case respectively. This allows the
  607.                     find requester to show the same strings you entered
  608.                     into it the last time you used it--in case you change
  609.                     DME's find and replace strings with findstr, repstr,
  610.                     find, or findr. This also allows you to use other
  611.                     macros that always use F and R instead of the current
  612.                     find and replace strings. This is especially important,
  613.                     since s-bs, s-del, and other macros change these
  614.                     values.
  615.  
  616.                2.   Next F: Finds the next occurence of the string stored
  617.                     in the environment variable F.
  618.  
  619.                3.   Prev F: Finds the previous occurance of F.
  620.  
  621.                4.   Next %s: Uses scanf to read the value of the string
  622.                     under the cursor into the variable $scanf. It then
  623.                     finds the next occurance of that string.
  624.  
  625.                5.   Prev %s: Uses scanf to read the value of the string
  626.                     under the cursor into the variable $scanf. It then
  627.                     finds the previous occurance of that string.
  628.  
  629.                6.   Replace F w/ R: If the word or phrase that begins at
  630.                     the cursor matches F, this macro replaces it with the
  631.                     value of the environment variable R. Otherwise, it
  632.                     finds the next occurance of F and replaces it with R.
  633.  
  634.                7.   Replace %s w/ R (a-r): Replaces the word which begins
  635.                     at the cursor with R.
  636.  
  637.                8.   Replace %s (c-r): Replaces the word which begins at the
  638.                     cursor with the value of the replace string. The
  639.                     replace string is whatever value was last set by repstr
  640.                     or findr. It is not necessarily the same as R. S-BS and
  641.                     s-Del set the replace string to an empty string.
  642.  
  643.                9.   Replace (c-e): If the string that begins at the cursor
  644.                     matches the find string, this macro replaces it with
  645.                     the replace string. Otherwise, it is the same as nextr.
  646.  
  647.               10.   Set F to %s (A-F): Reads the string which begins at the
  648.                     cursor into $scanf and sets the environment variable F
  649.                     equal to $scanf.
  650.  
  651.               11.   Set R to %s (A-R): Reads the string which begins at the
  652.                     cursor into $scanf and sets the environment variable R
  653.                     equal to $scanf.
  654.  
  655.            H.   Misc.
  656.  
  657.                1.   Change Colors (a-F2): This macro calls the colour
  658.                     requester in REQ.library.
  659.  
  660.                2.   Count Words (a-F3): An ARexx Macro that counts the
  661.                     words in either a block of text (if some text is
  662.                     blocked) or the entire document (if no lines of text
  663.                     are blocked.) It uses the RexxArpLib.library to display
  664.                     its results.
  665.  
  666.                3.   Set Font (a-F4): Lets you use the ARP File Requester to
  667.                     select a font for the window. In the requester, the
  668.                     font name should appear in the Drawer gadget, and the
  669.                     font size should appear in the File gadget.
  670.  
  671.                4.   Set InsLit Font (c-k): Uses the RexxArpLib.library
  672.                     to call up a string requester, in which you may
  673.                     specify which font the "Insert Literal" macro
  674.                     should use. If you click on the close gadget, that will
  675.                     be the same as specifying "topaz.font 8". You should
  676.                     specify the font in the same format as you would using
  677.                     the DME command "setfont". Also, use the same case as
  678.                     the fontname uses. For instance, "topaz.font 8" works,
  679.                     but "Topaz.font 8" does not. (If your topaz directory
  680.                     is capitalized, that may be the other way around for
  681.                     you.)
  682.  
  683.                5.   Insert Literal: This uses the RexxArpLib.library
  684.                     to call up a requester of all characters from ASCII 32
  685.                     to ASCII 255. Select which one you want with the mouse,
  686.                     and it will appear in your document.
  687.  
  688.                6.   Insert ASCII: This macro calls up the integer requester
  689.                     from req.library, and asks for a value between 0 and
  690.                     255. It will insert the character whose ASCII value is
  691.                     the value you give.
  692.  
  693.                7.   Paginate Document: This macro paginates your document
  694.                     to prepare it for printing.
  695.  
  696.                8.   Find & Deline: This macro deletes every line from
  697.                     the cursor on that contains F in it.
  698.  
  699.  
  700.            I.   Disk
  701.  
  702.                 Except for "Preferences," every one of these is an ARexx
  703.                 macro that calls the ARP File Requester. These macros
  704.                 performs various disk operations, such as deleting,
  705.                 copying, and moving files.
  706.  
  707.            J.   ANSI:
  708.  
  709.                 These macros insert ANSI codes into your document. In DME,
  710.                 these will just show up as ugly ANSI codes. In MuchMore,
  711.                 PPMore, P-Reader, or your printer, they will show up as
  712.                 italics, boldface, underlining, and different colored text.
  713.                 FG0 - FG3 insert codes for changing the foreground color.
  714.                 BG0 - BG3 insert codes for changing the background color.
  715.  
  716.      III.   Software used by some of the macros.
  717.  
  718.            A.   Freely distributable software
  719.  
  720.                1.   From ARP: arp.library, Ares, AShell, Copy, Move, Run,
  721.                     Sort, Type.
  722.  
  723.                2.   MuchMore (or MuchMorePoPa) © 1991 AMOK
  724.  
  725.                3.   Runback
  726.  
  727.                4.   RexxArpLib.library V2.52 © 1988, 1989, 1990 W.G.J.
  728.                     Langeveld
  729.  
  730.                5.   ReqLibrary, release 2.5 © 1990 Colin Fox & Bruce Dawson
  731.  
  732.                6.   Crunch by Nico François (Powerpeak)
  733.  
  734.                7.   PPMore by Nico François (Powerpeak)
  735.  
  736.                8.   PPrefs © 1989 by Jonathan Potter (If you don't have
  737.                     this program, open S:.edrc, replace PPrefs with
  738.                     Preferences, and save S:.edrc.)
  739.  
  740.                9.   SpellCheck Evaluation V1.00 © 1992 by me, Fergus
  741.                     Duniho. This program is included with DMD.
  742.  
  743.  
  744.            B.   Commercial Software
  745.  
  746.                1.   ARexx © 1987 William S. Hawes
  747.  
  748.        V.   Changes since "Fergus Duniho's DME 1.42 Macro Set V3.00"
  749.  
  750.            A.   "Fergus Duniho's DME 1.42 Macro Set V3.10"
  751.  
  752.                1.   More complete documentation on installation.
  753.  
  754.                2.   Bug fix in "Clear Window".
  755.  
  756.                3.   "Delete Disk File" now takes wild cards.
  757.  
  758.                4.   The macros that use ARPFileReq.dme can now use file
  759.                     names with spaces in them.
  760.  
  761.            B.   DMD V1.00
  762.  
  763.                1.   s-nk0 is smarter. It checks whether the character to
  764.                     the left is a space. If it isn't, it inserts a space
  765.                     before it inserts scanf instead of after. So, if you
  766.                     want to insert scanf before some punctuation mark, such
  767.                     as a period or a parenthesis, it will not separate them
  768.                     with a space as it used to, and it will put the space
  769.                     where it belongs. If, for instance, scanf is "cat", and
  770.                     the cursor is on the period of
  771.  
  772.                     The good boy gave tuna fish to the.
  773.  
  774.                     You will get
  775.  
  776.                     The good boy gave tuna fish to the cat.
  777.  
  778.                     instead of
  779.  
  780.                     The good boy gave tuna fish to thecat .
  781.  
  782.                2.   A-bs and A-del now delete single words like s-bs and
  783.                     s-del do. And in addition, they add the value of the
  784.                     deleted word to the end of the variable Phrase. A-del
  785.                     should be used for cutting a phrase from a sentence, so
  786.                     as to reinsert it elsewhere with A-nk0. A-bs should be
  787.                     used to reverse the order of words. A-nk0 now inserts
  788.                     the value of Phrase and resets it to an empty string.
  789.  
  790.                3.   "Delete Disk File" now deletes the corresponding .info
  791.                     files along with the files it is told to delete.
  792.  
  793.                4.   The following new macros involve a column marker and/or
  794.                     the variable Phrase. The column marker is a variable
  795.                     that holds a column position. Phrase is a variable that
  796.                     holds a string of text.
  797.  
  798.                    a.   a-@ sets the column marker to the current column
  799.                         position.
  800.  
  801.                    b.   as-nk. does one of two things.
  802.  
  803.                        i.   If the current column position is greater than
  804.                             the value of the column marker, it deletes the
  805.                             text between the cursor and the column marker,
  806.                             and it sets the variable Phrase equal to the
  807.                             text it deleted.
  808.  
  809.                       ii.   If the current column position is less than the
  810.                             value of the column marker, it moves the text
  811.                             which begins at the current column position to
  812.                             the column marker.
  813.  
  814.                    c.   as-nk0 inserts the value of the variable Phrase.
  815.  
  816.                    d.   as-c sets the value of Phrase to the text of the
  817.                         currentline.
  818.  
  819.                    e.   as-e exchanges the column marker and the current
  820.                         column position.
  821.  
  822.                    f.   as-w sets the variable Buf to the value of the
  823.                         column marker. I have it for use in as-e. But you
  824.                         might find some use for it from the keyboard.
  825.  
  826.                    g.   as-b moves the cursor to the column position in
  827.                         Buf. If you want to move to the column position,
  828.                         you can press as-w followed by as-b.
  829.  
  830.                5.   The following two macros require Crunch, which comes
  831.                     with PowerPacker.
  832.  
  833.                    a.   a-f9 saves the contents of the current window in
  834.                         powerpacked form.
  835.  
  836.                    b.   a-f10 crunches whatever data file you specify.
  837.                         Crunch accepts wild cards.
  838.  
  839.                6.   HT macros and menu removed, since I never use HT. Disk
  840.                     menu added. Some macros from the Project menu moved to
  841.                     the Disk menu.
  842.  
  843.            C.   DMD V2.00
  844.  
  845.                 Nota Bene: Most of these changes involve ARexx. If you
  846.                 don't have ARexx, you will be better off with the previous
  847.                 version of DMD. All you need do if you don't have ARexx is
  848.                 incorporate the bug fixes in this version into your .edrc
  849.                 from the previous version.
  850.  
  851.                1.   Many of the functions in ARPFileReq.dme have been
  852.                     replaced by internal ARexx Macros. Since internal ARexx
  853.                     Macros are defined in .edrc, they don't have to be
  854.                     loaded from disk, and so pop up as quickly as arpload
  855.                     and arpsave do.
  856.  
  857.                2.   "Word Count" and "Lexical Analysis" have been replaced
  858.                     by "Count Words". This new ARexx macro merely counts
  859.                     the words and gives no other information.
  860.  
  861.                3.   ARexx Macros that use req.library.
  862.  
  863.                    a.   New Macros
  864.  
  865.                        i.   "Change Colors" uses the colour requester.
  866.  
  867.                       ii.   c-Help uses the string requester to request the
  868.                             name of a key combination. It then uses another
  869.                             string requester to display what is mapped to
  870.                             that key combination.
  871.  
  872.                    b.   Modified Macros
  873.  
  874.                        i.   "Insert ASCII" now uses the integer requester.
  875.  
  876.                       ii.   A-w, which gives the time, now displays its
  877.                             information with the text requester.
  878.  
  879.                      iii.   a-Enter, which calculated mathematical
  880.                             expressions, now calls up a string requester,
  881.                             which serves as a calculator. It will calculate
  882.                             any ARexx function. You leave it by clicking on
  883.                             the close gadget or enter a null string. You
  884.                             may use the variable "A" to refer to the value
  885.                             that appears in the title bar.
  886.  
  887.                       iv.   "Rename File" (c-F4) now uses the string
  888.                             requester.
  889.  
  890.                        v.   Paginate.dme now uses the integer requester and
  891.                             the text requester.
  892.  
  893.                4.   "Insert Character" and ASCII.dme have been replaced by
  894.                     "Insert Literal" and InsLit.dme. InsLit.dme is much
  895.                     faster than ASCII.dme was, and you can select which
  896.                     font you want to use with it. This is useful when you
  897.                     are using a font with an IBM character set, for
  898.                     instance.
  899.  
  900.                5.   The Find Requester now uses a button gadget for case
  901.                     sensitivity instead of the string gadget that it used
  902.                     to use.
  903.  
  904.                6.   Many ARexx macros have been streamlined, so that they
  905.                     take up less disk space.
  906.  
  907.                7.   Bugs were fixed in macros mapped to BS, A-r, A-h,
  908.                     s-right, and perhaps others I don't remember.
  909.  
  910.                8.   "Make Directory" and "Set Font" macros added. Both use
  911.                     the ARP File Requester. For "Make Directory", the new
  912.                     directory name should appear in the File gadget.
  913.  
  914.                9.   Appending blocked text to the buffer is now done by an
  915.                     ARexx macro instead of by C:Type. Also, "Append Block
  916.                     to File" (s-F10) no longer uses C:Type. It's now purely
  917.                     ARexx.
  918.  
  919.               10.   Spell Checker. See separate documentation.
  920.