home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 2 BBS / 02-BBS.zip / msq310.zip / MSGED.DOC < prev    next >
Text File  |  1995-06-24  |  89KB  |  1,983 lines

  1.  
  2.  
  3.                             Msgedsq v3.10
  4.  
  5.  
  6.           A Public Domain *.MSG & Squish Compatible Message Editor
  7.  
  8.  
  9.          Authored mainly by Jim Nutt, John Dennis and Paul Edwards
  10.  
  11.    At time of release, being maintained by Paul Edwards, 3:711/934@fidonet
  12.  
  13.  
  14.  
  15.      ┌─────────────────────────────────────┐ 
  16.      │▒▒ Instructions and Disclaimer     ▒▒│ 
  17.      └─────────────────────────────────────┘ 
  18.       
  19.      Obviously there is no warranty on this program and the authors 
  20.      assume no liability for anything it may do.
  21.  
  22.      To run the DOS version of this program you need somwhere
  23.      around 300k of RAM.  You will also need MS or PC-DOS 3.3
  24.      and above for all the file sharing to work. You most definitely
  25.      need to run share.exe if you plan to run it in a multitasking
  26.      environment.
  27.  
  28.      For use under OS/2 2.0 and later, the above does not apply.
  29.  
  30.  
  31.  
  32.                             C o n t e n t s
  33.      ──────────────────────────────────────────────────────────────────
  34.      Heading                                                    Section
  35.      ──────────────────────────────────────────────────────────────────
  36.  
  37.      Notes Concerning Copyright ................................... A
  38.  
  39.      Introduction ................................................. B
  40.           Document Conventions .................................... B1
  41.           Memory Considerations ................................... B2
  42.           Share Support ........................................... B3
  43.      
  44.      Configuration Options ........................................ C
  45.           Installation ............................................ C1
  46.           Command Line ............................................ C2
  47.           Configuration File ...................................... C3
  48.           Name .................................................... C4
  49.           Address <address> ....................................... C5
  50.           Alias <alias,name,<[address]|[UUCP]>,subject[,]]> ....... C6
  51.           Help Files .............................................. C7
  52.           Outfile <filename> ...................................... C8
  53.           Include <filename> ...................................... C9
  54.           Lastread <filename> ..................................... C10
  55.           Echotoss <filename> ..................................... C11
  56.           Primary and Secondary Userlist .......................... C12
  57.           Swappath <path to swapfile> ............................. C13
  58.           Curstart <start scanline> ............................... C14
  59.           Curend <end scanline> ................................... C15
  60.           Nodepath <path to nodelists> ............................ C16
  61.           Nodelist <domain name> <base name> <sysop file name> .... C17
  62.           AreaFile <s[quish]|a[area]> [[path][filename]] .......... C18
  63.           Useroffset <offset into sql file> ....................... C19
  64.           QQuotes ................................................. C20
  65.           SqlLast ................................................. C21
  66.           Video <type> ............................................ C22
  67.           Colors <type> <foreground>[+]/<background>[+] ........... C23
  68.           Monochrome Monitors ..................................... C24
  69.           Attribution <attribution line> .......................... C25
  70.           Editor <external editor> ................................ C26
  71.           Template <template file> ................................ C27
  72.           Group <"search string"> <name index> <template index> ... C28
  73.                                                                  
  74.      Reply Functions Config ....................................... D
  75.           AlterFunc <function> <action(s)> ........................ D1
  76.           Switches ................................................ D2
  77.           Quote <quote string> .................................... D3
  78.           Margins ................................................. D4
  79.           Area Definitions ........................................ D5
  80.                          Mail ................................... i     
  81.                          Echo .................................. ii    
  82.                          Uucp ................................. iii   
  83.                          News .................................. iv    
  84.           Origin  <origin line> ................................... D6
  85.           Uucp <address> .......................................... D7
  86.           Domain <address> ........................................ D8
  87.           Gate <gate type> ........................................ D9
  88.           Editkey and Readkey ..................................... D10
  89.           Function ................................................ D11
  90.                                                                  
  91.      Using Msgedsq ................................................ E
  92.           Screen Format ........................................... E1
  93.  
  94.      Basic Usage (Or: a small primer) ............................. F
  95.           Quotes & Text Formatting ................................ F1
  96.  
  97.      Network Addressing (And Gates) ............................... G
  98.                Network Gating ..................................... G1
  99.                Zone Gating ........................................ G2
  100.                Domain Gating ...................................... G3
  101.                Host Routing ....................................... G4
  102.                                                                  
  103.      Carbon Copies ................................................ H
  104.  
  105.      Cross Posting ................................................ I
  106.  
  107.      Internet and Msgedsq ......................................... J
  108.  
  109.      Msgedsq and Points ........................................... K
  110.  
  111.      Default Reader Key Definitions ............................... L
  112.  
  113.      Edit Mode Key Definitions .................................... M
  114.  
  115.      Redefining the Keyboard ...................................... N
  116.           Function Key Macros ..................................... N1
  117.           Caveats ................................................. N2
  118.  
  119.      Contacting the Author ........................................ O
  120.  
  121.      Hints/Panic Questions Etc .................................... P
  122.           Hints ................................................... P1
  123.  
  124.      ReadKey Commands .................................... Appendix A
  125.      EditKey Commands .................................... Appendix B
  126.      Template Tokens ..................................... Appendix C
  127.      Origin Line philosophy .............................. Appendix D
  128.      Credits ............................................. Appendix E
  129.      Miscellaneous Notes ................................. Appendix F
  130.  
  131.  
  132.     ┌─────────────────────────────────────┐
  133.  A. │▒▒ Notes Concerning Copyright      ▒▒│
  134.     └─────────────────────────────────────┘
  135.  
  136.      This program is released to the public domain. There are absolutely
  137.      no distribution restrictions, and you may legally use this product 
  138.      as the basis for a commercial editor if you wish to do so.
  139.  
  140.  
  141.  
  142.      ┌────────────────────────┐
  143.  B.  │▒▒ Introduction       ▒▒│
  144.      └────────────────────────┘
  145.  
  146.      Msgedsq is a message editor for Fidonet (and compatible) network(s).
  147.      It is derived from Msged, a program written by Jim Nutt, and was 
  148.      subsequently modified by John Dennis to create Msgedsq. After a 
  149.      number of years John Dennis released all his work to the public 
  150.      domain and discontinued support for it.
  151.      
  152.      Paul Edwards has picked up the ball at this stage, with support from 
  153.      others. Feel free to pick up either this code or John's final version
  154.      (MSQ22SRC.LZH) and create another development stream, or integrate it 
  155.      in with this version, as you please.
  156.  
  157.      The features of Msgedsq (briefly) are:
  158.  
  159.      -  Small & fast.
  160.      -  Supports the popular Fido (*.msg) and Squish Msg formats.
  161.      -  Message sizes limited only by memory.
  162.      -  Number of messages per area limited only by memory, at
  163.         least for OS/2 (tested with 100800 messages).  The DOS
  164.         version has a limit of a little over 5000 messages per
  165.         echo.  Do not attempt to use more than this.
  166.      -  Support for UUCP and NEWS RFC-822 gated messages.
  167.      -  Handles Zone Gating, Host Routing and Domain Gating automatically.
  168.      -  Has configurable reply/quote functions, as well as configurable 
  169.         information strings.
  170.      -  Supports sharing conventions for all msgbase types.
  171.      -  OS/2 32-bit version (exactly the same).
  172.      -  Completely redefinable keyboard.
  173.      -  Supports multiple usernames.
  174.      -  Has aliases for quick header entry.
  175.      -  Multi-network support across the  board (echomail, netmail...).
  176.      -  Version 7 Nodelist support.
  177.  
  178.      + More...
  179.  
  180.  
  181.      B1. Document Conventions
  182.  
  183.      Some conventions will be observed in this document; keypress
  184.      instructions will look like this: <alt><s>, which instructs you
  185.      to hold down the key labelled Alt and press the letter S. Fido
  186.      refers to the *.msg msgbase type and Squish refers to the Squish
  187.      msgbase type. <address> refers to an address, up to 5D.  "..."
  188.      (ellipsis) means you can have as many of that option as you like.
  189.  
  190.  
  191.      B2. Memory Considerations
  192.  
  193.      Msgedsq needs about 180k to run, but it will use all available
  194.      memory when reading/editing  messages.  Therefore, if you are
  195.      planning to read/write very large messages, you should have a
  196.      corresponding amount of free RAM. I suggest about 220k; you'll
  197.      never run out of memory in Fidonet areas, but if you are reading
  198.      64k messages, add another 70k to that figure.  The amount of
  199.      available free memory is shown to the right hand side of the
  200.      area name, when you are viewing a message.  Of course, none of
  201.      this stuff applies to OS/2.
  202.  
  203.  
  204.      B3. Share Support
  205.  
  206.      Full sharing of both Fido and Squish msgbases are supported for
  207.      DOS 3.3 and above. Naturally, Share.exe must be loaded to make
  208.      this effective and this is STRONGLY recommended when running
  209.      under a multi-tasker (of any description). Sooner or later nasty
  210.      things will happen to your msgbases if you don't.  What the
  211.      heck - share only takes up 7k or thereabouts... DOS v5 users
  212.      should note that share seems to work best when installed from
  213.      config.sys.
  214.  
  215.  
  216.  
  217.      ┌──────────────────────────────────┐
  218.  C.  │▒▒ Configuration Options        ▒▒│
  219.      └──────────────────────────────────┘
  220.  
  221.      C1. Installation
  222.  
  223.      Installing Msgedsq shouldn't be too hard;  simply use the provided 
  224.      config file and edit it to your heart's content. The squish.cfg file 
  225.      that comes with the SquishMail processor can be used for area 
  226.      definitions, as well as the areas.bbs file (used by practically 
  227.      everything on earth). Hopefully when everything is configured you'll 
  228.      simply type "msged" at the DOS command line or "msgedp" at the OS/2 
  229.      command line.
  230.  
  231.  
  232.      C2. Command Line
  233.  
  234.      Msgedsq takes two parameters on the command line: the first is
  235.      the name of the config file, and the second is the areas.bbs or
  236.      squish.cfg file. You cannot have the second without the first;
  237.      see the later section on the "areafile" config line. If you wish
  238.      to have different people using the same program, it's easiest to
  239.      path msged.exe with the config file in the current directory
  240.      (msged loads it from the current dir by default). This would be
  241.      easier than editing the executable file.
  242.  
  243.      ┌ Command Line Syntax ─────────────────┐
  244.      │ msged [<config file> [areafile]]     │
  245.      └──────────────────────────────────────┘
  246.      
  247.      msged returns with an errorlevel that is calculated as follows:
  248.      It starts off with 0, and then:
  249.      If you have entered new netmail, 1 is added to the errorlevel.
  250.      If you have entered new echomail, 2 is added to the errorlevel.
  251.      If you have entered new uucp mail, 4 is added to the errorlevel.
  252.      If you have entered new news mail, 8 is added to the errorlevel.
  253.      If you have entered new local mail, 16 is added to the errorlevel.
  254.      
  255.      So if you get an errorlevel of 18, it means that you have
  256.      entered new local mail, and also new echomail.
  257.  
  258.  
  259.      C3.  Configuration File
  260.  
  261.      The config file is processed from top to bottom;  the placement of 
  262.      verbs in the provided file generally have a purpose.  The moral is:
  263.      don't move things round unless you know what you're doing :-) 
  264.  
  265.  
  266.      C4. Name <username> ...
  267.          ───────────────────
  268.  
  269.      This is fairly obvious; put your full name here.  The first name
  270.      specified will be the default name. You can define more if you
  271.      like (ten maximum), and you can change to these during execution:
  272.      the <ctrl><u> function brings up a pick list for you to choose.
  273.  
  274.  
  275.      C5. Address <address> ...
  276.          ────────────────────────────────────────────
  277.  
  278.      Your network address(es), up to 5D.  You can define as many as
  279.      you like & can choose between them during execution (<ctrl><w>).
  280.  
  281.  
  282.      C6. Alias <alias,name,<[address]|[UUCP]>,subject[,]]> ...
  283.          ───────────────────────────────────────────────────────────
  284.  
  285.      Aliases are used to simplify the entry of names, addresses and
  286.      subjects, rather like macros useable in Carbon Copies and normal
  287.      msg header entry. This way, you simply type in the alias, press
  288.      enter, and the rest is filled in for you. Internet addressing is
  289.      supported as well (see config file for example).
  290.  
  291.  
  292.      C7. Help Files
  293.          ──────────
  294.  
  295.      These are names of external files containing help (or whatever
  296.      you put in them), that will be called to the screen when pressing
  297.      <alt><h>. Some example files are provided. "rhelp" will be read
  298.      when in reader mode (Ie: not editing a message). "ehelp" will be
  299.      read when editing a message. If the text in the file is greater
  300.      than your page length, it will page down at every keypress, the
  301.      <q> key will cause it to quit and return to the reader/editor.
  302.  
  303.  
  304.      C8. Outfile <filename>
  305.          ──────────────────
  306.  
  307.      Msgedsq handles exports in a variety of ways when you press
  308.      <alt><w>.  You can send the text to any character device,
  309.      including files, printers and comports; you just specify the name
  310.      (However, beware of critical errors: they will mess up the screen
  311.      format). You can overwrite or append to an existing file, with
  312.      or without added carriage returns, with message header or
  313.      headless unformatted text, an attribution line header and each
  314.      line quoted or straight from the message. All this is done from
  315.      the reader, exports from within the editor are always straight
  316.      text (and must have been cut from the message using the cut key).
  317.      Outfile is the default filename for export (you can change this
  318.      when you press <alt><w> during execution). 
  319.  
  320.      Putting a "+" in front of the filename will cause the text to be
  321.      appended to the file. Otherwise the file will be overwritten.
  322.  
  323.      Putting a "?" in front of the filename indicates you want to be
  324.      asked whether to append or not, and how to write out the file.
  325.      Some menus will appear and you choose the action you want.
  326.  
  327.      If you append a ",t" to the end of the filename, the message will
  328.      be exported in plain ASCII form with the message header. Carriage
  329.      returns and linefeeds will be added to the end of each line. If
  330.      you append a ",q" to the end of the filename, the text will be
  331.      exported in quote format.  This means that an attribution line
  332.      will be added to the beginning of the message and each line will
  333.      be preceded by the quote string.
  334.  
  335.  
  336.      C9. Include <filename>
  337.          ──────────────────
  338.  
  339.      This will include the filename and parse it as a configuration
  340.      file.  The statement can be placed anywhere within the msged.cfg
  341.      config file.
  342.  
  343.  
  344.      C10. Lastread <filename>
  345.           ───────────────────
  346.  
  347.      Msgedsq creates a file to keep track of the last read message in
  348.      Fido (Only! Squish areas have their own lastread file name which
  349.      is not alterable), areas. This lets you specify the name of that
  350.      file. Often handy if you have two sysops and don't want to stuff
  351.      up each others' lastreads.
  352.  
  353.  
  354.      C11. Echotoss <filename>
  355.           ───────────────────
  356.  
  357.      This file is appended to every time you exit from Msgedsq; it
  358.      contains a list of the *echomail* areas you entered messages in;
  359.      one per line. Echomail processors use this information to speed
  360.      up the scanning out of echomail.
  361.  
  362.  
  363.      C12. Primary and Secondary Userlist
  364.           ──────────────────────────────
  365.  
  366.      This is the name of the userlist(s) used for looking up the
  367.      addresses of names you enter in the message header. This file is
  368.      normally created by your nodelist compiler, but it can be created
  369.      by anything.  Each line must be EXACTLY THE SAME LENGTH and
  370.      sorted. The names should be left justified, with the addresses
  371.      beginning after column 40. Both are optional, with the first one
  372.      being checked first, then the second one will checked if the name
  373.      is not found in the first list.
  374.  
  375.  
  376.      C13. Swappath <path to swapfile>
  377.           ───────────────────────────
  378.  
  379.      Put the path to your swapfile here - only for DOS users but it
  380.      should definetely be used. If you don't use it, you must return
  381.      to the msgedsq directory to return to the editor.
  382.  
  383.  
  384.      C14. Curstart <start scanline>
  385.           ─────────────────────────
  386.  
  387.      This is the start scanline of your cursor. Usually 6 on EGA/VGA
  388.      displays, but can start at 0 and end at 14.  I suggest using a
  389.      value of 11 here if you are using a monochrome monitor.
  390.  
  391.  
  392.      C15. Curend <end scanline>
  393.           ─────────────────────
  394.  
  395.      This is the end scanline of your cursor. Usually has a value of
  396.      7 on EGA/VGA display types, but value can go to 14.  I suggest
  397.      using a value of 12 here if you are using a monochrome monitor.
  398.  
  399.  
  400.      C16. Nodepath <path to nodelists>
  401.           ────────────────────────────
  402.  
  403.      Put the path to the version 7 nodelists here.  If you have more
  404.      than one, they should all be in the same directory.
  405.  
  406.  
  407.      C17. Nodelist <domain name> <base name> <sysop file name> ...
  408.           ────────────────────────────────────────────────────────
  409.  
  410.      Any version 7 nodelists are entered here. The domain name is the
  411.      name of the domain (used only when picking which nodelist to use
  412.      for lookup), the base name is the name minus the extension (ie.
  413.      nodex), and the sysop file name is the name of the sysop lookup
  414.      file. Msgedsq will only use one file for lookup, and by default
  415.      this is the first nodelist in the config file.  You really only
  416.      have to bother with more than one if the zones in one domain
  417.      interfere with the zones in the other(s) - otherwise you simply
  418.      put all the domains in one nodelist.
  419.  
  420.  
  421.      C18. AreaFile <s[quish]|a[area]> [[path][filename]]
  422.           ──────────────────────────────────────────────
  423.  
  424.      You can tell Msgedsq to look for area information (Echomail and
  425.      Netmail) in other files besides the configuration file. Because
  426.      the config file is parsed from top to bottom, the positioning if
  427.      this line determines where the areas (defined in these files),
  428.      will appear in the pick list. If you specify a name, it will use
  429.      it or search for the default names (AFTER it has processed the
  430.      rest of the file). The default file names are:  squish.cfg or
  431.      areas.bbs, depending on what type you chose.  Please note that
  432.      you can only read one type of file.  See "Area Definitions"
  433.      section for more hints on usage.
  434.  
  435.      Msgedsq will obtain all area addressing information from the
  436.      squish.cfg and areas.bbs file ("-p<node>" in both files), and
  437.      will assume this address when you enter the areas.  Passthru
  438.      areas will NOT be read into the picklist - they are ignored.
  439.  
  440.      If you wish to use the command line, you mustn't specify a
  441.      filename on this line, because it will use this name over the
  442.      command line (this is ok, because it will also search for the
  443.      default names if one has not been specified). You can get round
  444.      this by using other config files or not specifying a name.
  445.      Whichever you prefer.
  446.  
  447.  
  448.      C19. Useroffset <offset into sql file>
  449.           ─────────────────────────────────
  450.  
  451.      This applies only to squish areas, and tells Msgedsq what record
  452.      (not byte! each record is 4 bytes), to use in the squish lastread
  453.      files. Please remember this is zero based, ie: the first record
  454.      is zero (and this is usually the sysop record on most systems).
  455.  
  456.  
  457.      C20. QQuotes
  458.           ───────
  459.  
  460.      As default, this is commented out, giving an operation much the
  461.      same as Maximus v2.0, that is: when quoting, quotes will not have
  462.      the quote prefix added to the line (text will, tho).  With this
  463.      enabled, Msgedsq will attempt to find the first ">" and place
  464.      another ">" behind it on lines already quoted.
  465.  
  466.      ┌ Example ─────────────┐
  467.      │ " CV>> what?"        │
  468.      └──────────────────────┘
  469.  
  470.  
  471.      C21. SqlLast
  472.           ───────
  473.  
  474.      Msgedsq operates the same Maximus with this line *commented out*.
  475.      It will save the message you are currently reading, so when you
  476.      return to that area, you will go to that message. With this line
  477.      *uncommented*, the highest numbered message read will be saved,
  478.      so you can miss messages when re-entering an area if you had
  479.      <crtl><rght arrow>'ed before, but had not read as far when you
  480.      went back to the downlink and continued reading.
  481.  
  482.  
  483.      C22. Video <type>
  484.           ────────────
  485.  
  486.      You can use either bios or direct screen writes to control your
  487.      screen. Bios is naturally very slow, so use direct if at all
  488.      possible (which it will be, unless you have a non-standard PC, or
  489.      a weird card). At startup it will obtain the screen dimensions
  490.      from the bios, and will use those dimensions. Therefore you can
  491.      use whatever weird dimensions you like (100x60, 80x43 etc). The
  492.      OS/2 version ignores these settings, but still gets the current
  493.      mode of the screen.
  494.  
  495.  
  496.      C23. Colors <type> <foreground>[+]/<background>[+]
  497.           ─────────────────────────────────────────────
  498.  
  499.      The first word after "color" is the name of the color used in
  500.      certain specifications.  The first word after that is the
  501.      foreground colour, and the background colour is separated by a
  502.      "/" character.  If a "+" trails the colour then it is a high
  503.      intensity version of that colour.
  504.  
  505.  
  506.         Normal
  507.           This colour is used for text that you, or others have
  508.           typed. This will account for most of the text that you,
  509.           or others have typed.
  510.  
  511.         Information
  512.           This colour displays information generated by Msgedsq,
  513.           usually information of some sort.
  514.  
  515.         Warnings
  516.           This colour alerts you to potentially destructive
  517.           commands. It's also used for informational messages.
  518.  
  519.         Quotes
  520.           This colour denotes quoted text. Msgedsq decides if
  521.           line is a quote by looking for a ">" character in the
  522.           first 6 characters. Please note that lines considered
  523.           as quotes are treated differently when wrapping lines
  524.           greater that the screen length or quote/right margin.
  525.  
  526.         Blocks
  527.           This colour designates an anchor block, used when
  528.           editing messages, for cutting out text.
  529.  
  530.         Highlighted Text
  531.           This colours is for items/lines that are highlighted.
  532.           (Ie: menus etc).
  533.  
  534.  
  535.      The available Colours are:
  536.  
  537.      bla[ck], blu[e], gre[een], whi[te], red, cya[n], yel[low] and
  538.      mag[enta]
  539.  
  540.  
  541.      C24. Monochrome Monitors
  542.           ───────────────────
  543.  
  544.      You'll have to play with this to get what you want. Remember
  545.      that monochrome monitors only have 4 colours (incl. reverse and
  546.      intense). Try this for starters:
  547.  
  548.       ┌───────────────────┐
  549.       │ Normal whi /bla   │
  550.       │ Warn  bla /whi    │
  551.       │ Quote whi /bla    │
  552.       │ Block bla /whi    │
  553.       │ Info  whi /bla    │
  554.       │ Hilite Bla /whi   │
  555.       └───────────────────┘
  556.  
  557.  
  558.      C25. Attribution <attribution line>
  559.           ──────────────────────────────
  560.  
  561.      An attribution line is a line containing information about the
  562.      message being quoted (the header details). This line is inserted
  563.      at the beginning of the quoted message. You can insert your own
  564.      text in this line and control the placement of information (or
  565.      lack of it) in the line via tokens.  Tokens represent the point
  566.      where the information is inserted - they are preceded by the '%'
  567.      [percent sign]; the escape sequence signalling the existence of a
  568.      token. Please refer to Appendix C: at the end of this manual
  569.      for a list of all available tokens.
  570.  
  571.  
  572.      C26. Editor <external editor>
  573.           ────────────────────────
  574.  
  575.      This command allows you to specify an external editor to use
  576.      when writing messages.  Your editor must accept a filename
  577.      as the first and only parameter.  You may need to specify the
  578.      full path to your editor.
  579.  
  580.  
  581.      C27. Template <template file>
  582.           ────────────────────────
  583.  
  584.      This command allows you to specify a sign-off signature,
  585.      plus anything else you want, by means of a template file.
  586.      See the example template.msq file for an example of how
  587.      to do this, and also the documentation.
  588.  
  589.  
  590.      C28. Group <"search string"> <name index> <template index>
  591.           ─────────────────────────────────────────────────────
  592.  
  593.      This command allows you to define groups of areas.  E.g.
  594.      you may want to have a "signoff" that says "Team OS/2"
  595.      whenever you enter a message in an OS/2 echo.  You could
  596.      achieve this by going:
  597.      
  598.      Group "OS2" 0 1
  599.      
  600.      Where the name index, 0, is your normal name (from the
  601.      list of names you specified earlier), and the template
  602.      index, 1, is the second template file you have specified
  603.      (with the template keyword).  Presumably your second template
  604.      will have a signature in it with "Team OS/2" in it.
  605.  
  606.  
  607.      ┌──────────────────────────────────┐ 
  608.  D.  │▒▒ Reply Functions Config       ▒▒│ 
  609.      └──────────────────────────────────┘ 
  610.  
  611.      With this version of msgedsq, you can now change the strings
  612.      inserted into messages by some of the reply functions (this is
  613.      separate to the attribution line discussed above). These lines
  614.      of text are actually attribution lines and use the same tokens.
  615.      Each line corresponds to an action (of a function / procedure) in
  616.      the operation of msgedsq, so they're only inserted when you
  617.      invoke that function (please note that the actions by functions
  618.      can also be altered - see next config section).  The lines
  619.      available are:
  620.  
  621.         Forwardline <attribution line>
  622.           Inserted when forwarding messages. This is not really a
  623.           reply function, but it's nice to be able to alter the
  624.           string.  Note that  this string also applies to
  625.           redirecting as well.
  626.  
  627.         Redirline <attribution line>
  628.           Inserted when redirecting messages.  Not a reply
  629.           function either, but you can specify the inserted
  630.           attribution line here.
  631.  
  632.         Followup <attribution line>
  633.           Inserted when doing a followup  or reply/comment.
  634.           (Message is addressed to the TO: name).
  635.  
  636.         ReplyArea <attribution line>
  637.           Inserted when replying to a message in another area.
  638.  
  639.         ReplyExtra <attribution line>
  640.           Inserted when any function has the "Extra" attribute to
  641.           it.  This is user definable for whatever reasons/text
  642.           you want.
  643.  
  644.  
  645.      D1. AlterFunc <function> <action(s)>
  646.          ────────────────────────────────
  647.  
  648.      You can change the actions of any of the 4 reply functions (tho
  649.      they're already set to the normal actions by default). Please
  650.      note that this binds to that function regardless of what the key
  651.      assignment is. The functions that can be used are:
  652.  
  653.      <alt><q> or "ReplyQuote"
  654.      <alt><n> or "ReplyOtherArea"
  655.      <alt><u> or "ReplyFollow"
  656.      <alt><y> or "ReplyExtra"
  657.  
  658.      The other functions <alt><e> and <alt><r> are not definable. The
  659.      config verb is "AlterFunc", followed by the function name (above,
  660.      in quotes), and then the actions you wish it to do. The actions
  661.      available are:
  662.  
  663.      Q - quote msg and insert normal attribution line
  664.      A - ask for area & insert "ReplyArea" attribution
  665.      F - followup & insert "Followup" attribution (address to TO:)
  666.      E - insert "ReplyExtra" attribution
  667.  
  668.      Note that with the attribution lines a blank line is allways
  669.      inserted between each one inserted.
  670.  
  671.  
  672.      D2. Switches
  673.          ────────
  674.  
  675.      Most of these items are available/switchable in the <alt><s>
  676.      function in the reader.  They are switches that alter the
  677.      operation of msgedsq. Items marked with a <*> are not to be 
  678.      fooled with unless you know what you're doing (Ie: at your own 
  679.      risk; weird things may happen). To turn a switch OFF you must 
  680.      put "switch <switch name> off" in the configuration file.  
  681.      Similarly, go "switch <switch name> on" to switch an option
  682.      on.  In the absence of either command, a default will be
  683.      used.
  684.  
  685.         Msgids 
  686.           Msgids are used to uniquely identify a message coming
  687.           from your system.  Unfortunately no two message editors
  688.           use the same MSGID-generating algorithm, so you cannot
  689.           guarantee that you conform to the MSGID spec unless you
  690.           have only ever used the one message editor for a 
  691.           particular address in a 3-year period.  Most people just
  692.           ignore this problem and use them anyway.  I don't.
  693.           
  694.         Seen-Bys
  695.           With this uncommented, Msgedsq will not display seen-by
  696.           and other textual information when reading or editing
  697.           messages.  It will specifically discard this information
  698.           when reading the message from disk.  Other textual
  699.           information includes tearline and origin line.  Both of
  700.           these lines are inserted by software and not part of the
  701.           user's message.  The only useful information they contain
  702.           (ie the origin address in echomail) is extracted and
  703.           normally displayed at the top of the screen next to the
  704.           user's name.
  705.  
  706.         Confirm
  707.           This will cause a confirmation message to be displayed
  708.           with certain operations (like aborting message entry,
  709.           deleting messages and so-on). With this line uncommented, 
  710.           Msgedsq will NOT ask you any questions when doing ANYTHING
  711.           (except when editing an already-sent message).
  712.  
  713.         Showaddr
  714.           When operating in a multi-network environment, it is
  715.           often handy to know what address you are currently
  716.           using. With this line commented an address will appear
  717.           on the right-hand side of the line displaying the
  718.           current area.
  719.  
  720.  
  721.         Savecc
  722.           In normal CC (Carbon Copy) operation, a duplicate of
  723.           the original message is saved for re-editing sending
  724.           (along with the normal messages that are sent out).
  725.           You can stop this by uncommenting this line.
  726.  
  727.         Rawcc
  728.           This is only useful if the above variable is ON (as it
  729.           is by default). If this is ON, then the raw cc: msg is
  730.           saved, otherwise the first formatted cc: will NOT be
  731.           marked kill/sent and will therefore remain.
  732.  
  733.         Opusdate <*>
  734.           This will stop the date_written and date_arrived fields
  735.           being written to. This only applies to Fido areas.
  736.  
  737.         Softcr <*>
  738.           This doesn't actually do anything at the moment, but if
  739.           you uncomment it, messages with passages of wrapped
  740.           text will lose spaces at the end of lines.
  741.  
  742.         Tearline
  743.           This option causes tearlines (and origin lines) to be
  744.           appended to the end of echomail areas.
  745.  
  746.         Hardquote
  747.           When switched on, this option causes the column formatting
  748.           to be preserved when quoting, ie it doesn't reformat
  749.           quotes.
  750.  
  751.  
  752.      D3. Quote <quote string>
  753.          ────────────────────
  754.  
  755.      This should be a sequence of characters that you would like to
  756.      the place at the beginning of each quoted line of text. There are
  757.      some tokens that are replaced with initials:
  758.  
  759.         &    - Replaced with all initials in quoted name.
  760.         _    - Signifies a space.
  761.         ^    - Signifies first initial.
  762.         *    - Signifies second initial.
  763.  
  764.      Please be minimal in what you use - no point in wasting
  765.      bandwidth. See section on quoting for more info.
  766.  
  767.  
  768.      D4. Margins
  769.          ───────
  770.  
  771.      These margins are used when editing and reading messages. If you
  772.      change the screen size while in a DOS shell, be aware that only
  773.      the new length of the screen will be used. The margins will stay
  774.      the same.
  775.  
  776.         Right <right margin>
  777.           The right margin will be used for normal text (anything
  778.           non-quoted), when reading and editing messages. It's
  779.           probably best to use a value close to the width of your
  780.           chosen video mode.
  781.  
  782.         Quoteright <margin to quote to>
  783.           This margin is used when quoting messages. ALL text in
  784.           the quoted message will be wrapped to this margin. Use
  785.           a value about 3/4 of the right margin, so other editors
  786.           can quote your message without disturbing your quotes.
  787.  
  788.         Tabsize <tabsize>
  789.           This is ONLY for use when you press the <tab> key; the
  790.           tab will be expanded into the number of spaces you
  791.           specify here. Tab characters in other messages are not
  792.           expanded.
  793.  
  794.  
  795.      D5. Area Definitions
  796.          ────────────────
  797.  
  798.      Even though you can use a squish config file or an areas.bbs file
  799.      for area definition,  you will undoubtedly wish to define other
  800.      areas not in those files. Duplicate areas are detected only when
  801.      the path is the same, and if this is the case, the flags of the
  802.      later will be added to the former. The syntax is:
  803.  
  804.      <basetype> <msgtype> [flags] <desc> <path> [tag] [addr]
  805.  
  806.      ┌─ For Example ─────────────────────────────────────────────────┐
  807.      │ squish echo  "Region 55 Chat" d:\r55_chat r55_chat 3:690/626  │
  808.      │ fido  mail pk "Netmail"    d:\net                             │
  809.      └───────────────────────────────────────────────────────────────┘
  810.              
  811.         The <basetype> can be either "fido" or "squish", depending
  812.         on what msgbase type it is.  If it is squish, then "path"
  813.         must be the full base name (The path + name minus the
  814.         extension). The "msgtype" can be one of the following:
  815.  
  816.  
  817.  
  818.      i.   Mail
  819.              Used  for netmail areas.  Addresses will be
  820.              displayed for both origin and destination, and
  821.              asked for in message header entry.  The userlist
  822.              file(s) will be also used to look up addresses.
  823.              You can also use this for uucp mail, as this is
  824.              where it is usually sent from (you can use a
  825.              separate type for this, but it's often easier this
  826.              way). Note that the crosspost function will not
  827.              work to this areas of this type.  A tag is not
  828.              necessary.
  829.  
  830.      ii.  Echo
  831.              Can be  used for echomail  and news groups.
  832.              Crossposting can be done between such areas. Tags
  833.              ARE necessary, and if not defined, can cause weird
  834.              results.
  835.  
  836.      iii. Uucp
  837.              These are much the same as netmail areas, except
  838.              the normal method of displaying the address and
  839.              name has changed.  You will see the internet
  840.              address and then the name it's addressed to in
  841.              brackets.  Such areas rely on the text "From: "
  842.              and "To: " being placed in the message somewhere.
  843.              All messages are addressed to the uucp gate you
  844.              specified, you then scan these msgs out as a
  845.              netmail  area  (using  your  favourite  mail
  846.              processor). Tearlines are not appended.
  847.  
  848.      iv.  News
  849.              Similar to UUCP ares except that the messages are
  850.              not addressed to the uucp-gate. Usually you treat
  851.              this kind of area as and echomail area with your
  852.              mail processor. The advantage being you get a msg
  853.              header style better suited to internet/news msgs.
  854.              Tearlines are not appended.
  855.  
  856.         [flags] is optional and defines the bits to  be set
  857.         automatically when creating a message in that area. You can
  858.         turn these bits off and others on when you edit the msg
  859.         header, if you so wish. There can be NO SPACES between each
  860.         flag-type. The bits you can set are:
  861.  
  862.         ┌ Flags ────────────┐
  863.         │ p  - priv         │
  864.         │ h  - hold         │
  865.         │ c  - crash        │
  866.         │ k  - kill/sent    │
  867.         │ d  - direct       │
  868.         └───────────────────┘
  869.  
  870.  
  871.         <desc> is the description of the area, enclosed by quotes,
  872.         so you can have embedded spaces.  The description will
  873.         appear when you use the <alt><a> function (default), with
  874.         the pick list that appears.
  875.  
  876.  
  877.         The location of the msgbase is defined by <path>, which is a
  878.         full path, including drives. If the area is of squish type,
  879.         the path must include the base name of the area, for
  880.         example:
  881.  
  882.       ┌─ Path Example ────────────────────────────────────────────┐
  883.       │ d:\msg\c_echo   ; squish area, resides in \msg dir        │
  884.       │ d:\msg\c_echo   ; fido area, resides in \msg\c_echo dir   │
  885.       └───────────────────────────────────────────────────────────┘
  886.  
  887.         [tag] is necessary for echomail areas; it is used in quite a
  888.         few functions, including the creation of the echomail
  889.         tosslog.  The tag of an area will be the name of the area,
  890.         as used by your favourite echomail processor. THERE can be
  891.         NO TAGS in netmail/uucp/news/local areas!
  892.  
  893.         [addr] is the 5D address to use for this area; this address
  894.         will be used for origin lines, ^aMSGIDs and anything that
  895.         requires an address.  It does not have to be one of your
  896.         aka's, although it is probably wise to do so (so you can
  897.         change the area back, if you decide to change the address of
  898.         the area). The address is only used in echomail and netmail
  899.         areas; if the area is echomail, the address must follow the
  900.         tag, if netmail, there must be NO tag!.
  901.  
  902.  
  903.      D6. Origin <origin line>
  904.          ─────────────────────
  905.  
  906.      Your origin line is a line of text appended to the end of
  907.      echomail messages, that identifies your system. Remember that 
  908.      the address and the " * Origin:" text have to fit on the same 
  909.      line, so keep it short and sweet. The entire origin line should 
  910.      NOT add up to more than 80 characters.  It is possible to use
  911.      different origin lines for different squish areas if you set
  912.      up a file called <area>.SQO in the same place as your 
  913.      messagebase.  If you omit the origin line altogether, it will
  914.      default to using your name instead.
  915.  
  916.  
  917.      D7. Uucp <address>
  918.          ──────────────
  919.  
  920.      A uucp gate is where uucp (email) messages are sent, to be gated
  921.      into the Internet.  This is the 4D address of the gate.  It
  922.      should be in the same domain as you (you can try otherwise, but
  923.      no guarantees). See section on Internet usage.
  924.  
  925.  
  926.      D8. Domain <address>
  927.          ────────────────
  928.  
  929.      A domain gate is similar to a uucp gate, except the gate is with
  930.      a network using a fidonet technology network. (They usually use
  931.      the same software).  Messages sent with the destination domain
  932.      equal to the domain on one of these domain gates will be sent to
  933.      corresponding address, with a ^aDOMAIN kludge inserted into the
  934.      message. See section on netmail usage. You MUST specify the
  935.      domain.
  936.  
  937.  
  938.  
  939.  
  940.      D9. Gate <gate type>
  941.          ────────────────
  942.  
  943.      This is the bit that confuses many people (including me :-).
  944.      There are a number of ways to gate messages: domains are as above
  945.      but gating zones is a different kettle of fish.  When fidonet
  946.      wasn't so big, zone information was hard to get, and mail to a
  947.      different zone had to be achieved by zone gating.  The mail is
  948.      addressed to the zone gate, and a ^aINTL kludge is inserted
  949.      (which specifies the address you want to send the message and
  950.      your address). The zone gate system would then send the mail to
  951.      the other zone, and readdress it to the original address.
  952.      Msgedsq handles all this automatically for you so you don't have
  953.      to worry about it; you just enable it. 
  954.  
  955.      D10. Editkey and Readkey
  956.           ───────────────────
  957.  
  958.      These are discussed in the section about redefining the keyboard.
  959.  
  960.  
  961.      D11. Function
  962.           ────────
  963.  
  964.      This will also be discussed in the same section as above.
  965.  
  966.  
  967.  
  968.      ┌───────────────────────┐
  969.  E.  │▒▒ Using Msgedsq   ▒▒  │
  970.      └───────────────────────┘
  971.  
  972.      Msgedsq (and msged) operate in their own peculiar way, a way
  973.      rather different to other editors (as you may have noticed). The
  974.      keyword here is `speed' - msgedsq is meant be small, fast, highly
  975.      configurable and quick to operate.  
  976.       
  977.      The editor operates in two modes: Reader and Editor. The reader
  978.      is operative when you're browsing through your msgbase(s), editor
  979.      when editing messages -- both have a different set of functions
  980.      and key assignments. But first up, please note: when you fire up
  981.      Msgedsq, the first screen to appear is informational, showing
  982.      your current setup. It will remain until a key is pressed -- you
  983.      should pay attention and ensure it is correct.
  984.  
  985.  
  986.      E1. Screen Format
  987.  
  988.      The display is kept as simple as possible -- all information
  989.      needed is in the top six lines. For example:
  990.  
  991.       ┌────────────────────────────────────────────────────────────┐
  992.      1│ 001/003 Wed Apr 22 1992 22:33                              │
  993.      2│ From:  John Dennis of 3:690/613.6@fidonet                  │
  994.      3│ To:   Count Zero of 99:999:999.9@cyberspace                │
  995.      4│ Subj:  Ok, I want a Job!                                   │
  996.      5│ Attr:  privileged                                          │
  997.      6│ netmail ______________________________________ 3:690/613.6 │
  998.       │ Sorry, this is a case of no-can-do; you don't have enough  │
  999.       │ experience for the job. Don't call me, I'll call you :-)   │
  1000.       └────────────────────────────────────────────────────────────┘
  1001.       -Shortened to fit-
  1002.  
  1003.      Going down from the top, explaining each line:
  1004.  
  1005.      1 # of current message, total # msgs, date & any msg links
  1006.      2 Origin of the message & address
  1007.      3 Destination & address
  1008.      4 Subject 
  1009.      5 Any message attributes
  1010.      6 Separator for header & text. Also has current area & address
  1011.  
  1012.      Any links to other messages will appear after the date & time
  1013.      with filled-in arrows pointing in their direction. Please note
  1014.      that you can turn off the display of the current address - it's
  1015.      only really necessary when you're running a multiple-network
  1016.      setup.
  1017.  
  1018.  
  1019.      ┌──────────────────────────────────────┐ 
  1020.  F.  │▒▒ Basic Usage (or a Small Primer)  ▒▒│     
  1021.      └──────────────────────────────────────┘ 
  1022.  
  1023.      Msgedsq is fairly easy to use in reader mode: simply use the
  1024.      left and right arrows to move between messages. You add <ctrl>
  1025.      to those keys when you wish to follow a reply thread/chain. The
  1026.      <pgup>, <pgdn>, <up arrow> and <dn arrow> keys are used for
  1027.      viewing the current message. When you are finished with an area,
  1028.      <alt><a> will bring up the list of areas; and you can change to
  1029.      any of these. Exit is achieved by pressing <esc> till you get out.
  1030.  
  1031.      When you exit an area (via <alt><a> or <esc>), the number of the
  1032.      last message read is saved in the lastread file. This number is
  1033.      used when to bring you back to that message when you re-enter the
  1034.      area. So be careful that you exit on the message you want to (Or
  1035.      else you may lose your position).
  1036.  
  1037.      The list function - <alt><l> - is very handy for quickly browsing
  1038.      through the messages in the current area. Messages addressed to
  1039.      you are highlighted so you can quickly view them without reading
  1040.      the whole message area. The config file comes configured so that
  1041.      a press of the enter key will bring you back to the starting
  1042.      message in the area (the first message read upon entering the
  1043.      area).  Combine these two, and you can read your messages
  1044.      quickly, press enter so as to return to the starting message,
  1045.      then go check another area without losing any of your unread
  1046.      messages. 
  1047.  
  1048.      There are a number of keys used for entering messages, the most
  1049.      commonly used ones being: 
  1050.  
  1051.      <alt><e> - A new message.
  1052.      <alt><r> - Reply to the current message (but not quote). 
  1053.      <alt><q> - Reply to current msg and include it as a quote.
  1054.      <alt><n> - ditto, but put reply in another area. 
  1055.      <alt><u> - Send comments to the addressee of the current
  1056.                 message, quoting current message.
  1057.      <alt><y> - ditto but put msg in another area.
  1058.  
  1059.      For the reference to the key definitions, see the section
  1060.      "Default Reader Key definitions".  Please note:  msged
  1061.      strips all blank lines from the end of your message, and
  1062.      then always inserts a blank line before putting in the
  1063.      tearline and origin line.
  1064.  
  1065.  
  1066.      F1. Quotes & Text Formatting
  1067.  
  1068.      Quotes can cause a lot of trouble for message editors. Normal
  1069.      messages are supposed to be paragraphs of text terminated by a
  1070.      hard carriage return (produced when pressing the enter key). The
  1071.      purpose of this is to allow editors to wrap the text on the
  1072.      display to any desired margin (this also includes quoting).
  1073.      Unfortunately, many editors do not comply with this and terminate
  1074.      all lines with a hard return, effectively making each line a
  1075.      paragraph; causing no end of troubles when one tries to wrap the
  1076.      text to a margin other than the length of the line.
  1077.  
  1078.      Msgedsq attempts to get around this by reformatting the text as
  1079.      it quotes it. It works most of the time, but sometimes goes bye-
  1080.      bye to mars; in which case you may have to manually edit the
  1081.      quote.  To help with this, you are provided with special mode
  1082.      that is active whenever you are editing a quote (the line will be
  1083.      displayed in the quote color); it works the same as normal text,
  1084.      except that words are wrapped after the quote prefix (obtained
  1085.      from surrounding lines). You do not have to worry about creating
  1086.      the quote prefix yourself in most circumstances.  The only
  1087.      exception (to the quote mode operation) is the <enter> key: it
  1088.      will split the line at the current cursor position and create a
  1089.      new, unquoted line with the remaining text from the previous
  1090.      line.
  1091.  
  1092.      Please remember that the quoted lines are treated differently to
  1093.      normal text; if Msgedsq considers the line a quote, it will copy
  1094.      the quote prefix to any wrapped lines, sometimes causing a large
  1095.      mess (if the line isn't a quote). This generally doesn't happen,
  1096.      as a quote must follow certain rules to be considered one:
  1097.  
  1098.      o  There must be no '<' before the first '>'
  1099.      o  Punctuation characters, except '@', ' ', '-' and ':' are not
  1100.         allowed.
  1101.      o  There can only be alphanumeric chars before the '>', subject
  1102.         to the above exceptions.
  1103.      o  The first '>' must be within the first 11 characters of the
  1104.         line.
  1105.  
  1106.      It works most of the time, excepting the weird quote prefixes
  1107.      some people use from time to time.  Quote margins should be
  1108.      around 65, as most (other) editors use an 80 column display.
  1109.  
  1110.  
  1111.                       
  1112.      ┌────────────────────────────────────────────┐
  1113.  G.  │▒▒ Network Addressing (And Gates)         ▒▒│
  1114.      └────────────────────────────────────────────┘
  1115.  
  1116.      When reading messages in both netmail and echomail, the address
  1117.      of the sender is displayed after their name. Msgedsq does it's
  1118.      best to make sure this address is correct, but it's probable that
  1119.      it will stuff up every now and again. Particularly on messages
  1120.      from other zones (and networks) that don't have any ctrl-a
  1121.      information.  This isn't so common these days, and Msgedsq makes
  1122.      sure it *always* puts in this information in it's own messages.
  1123.  
  1124.      If you're running more than one network you can use the <ctrl><w>
  1125.      function to choose the address you want to use. Msgedsq will use
  1126.      this address when reading messages, so that any information not
  1127.      present will come from *your* address. Commonly the zone is not
  1128.      present, so your zone will be used. For example:
  1129.  
  1130.         You're reading messages from zone 28 (another network) and
  1131.         these messages don't have any ctrl-a info.  Your current
  1132.         address is 3:690/626.4 - all these other-zone messages will
  1133.         have zone 3 instead of 28.  (Because the zone info is not
  1134.         present in the messages themselves).  If you change your
  1135.         address to your zone 28 aka, then all messages will have the
  1136.         correct zone.
  1137.  
  1138.      This tends to be a problem because zone/point/domain information
  1139.      for messages is not transmitted in packets. The only solution is
  1140.      to have ^a (or ctrl-a) kludges with this information. The common
  1141.      ones are (and msgedsq uses these):
  1142.  
  1143.      MSGID   The origin of the message (up to 5D).
  1144.      REPLY   The origin of the message this is a reply to (5D)
  1145.      INTL    The destination and origin of the message (3D).
  1146.      FMPT    Point number of the origin.
  1147.      TOPT    Point number of the destination.
  1148.      DOMAIN  Destination domain and address and the origin domain
  1149.              and address.
  1150.  
  1151.      The whole idea is that msgedsq gets all the network information
  1152.      from these klugdes, and fills it all in for you. It works *most*
  1153.      of the time.  When the information is incorrect you'll have to
  1154.      address the message manually (you have to do this when entering a
  1155.      new message anyway). Remember that what you see on the screen is
  1156.      what msgedsq thinks the address is.
  1157.  
  1158.      If you haven't noticed already, msgedsq WILL allow default
  1159.      addresses for areas -- please look-up the section on area
  1160.      definitions.
  1161.  
  1162.  
  1163.      G1. Network Gating
  1164.  
  1165.         Msgedsq does three types of gating, zone, domain and internet.
  1166.         Zone and Domain gating are used when addressing within fidonet
  1167.         technology networks;  internet gating is a bit different and
  1168.         cannot be mixed with the other methods (see separate section
  1169.         "Internet and Msgedsq"). Please note that if a message is marked
  1170.         "crash" or "direct" it will NOT be gated.
  1171.  
  1172.      G2. Zone Gating
  1173.  
  1174.         Zone gating is well known, and used to be practically the
  1175.         only way to get messages into another zone. This is because
  1176.         while a message is in transit only 2D addressing information
  1177.         is retained in the message header (the net and node). So,
  1178.         to get a message to another zone (without directly sending
  1179.         it), you have to send it to a zone gate; a system specially
  1180.         set up to handle such mail routing. Each zone has gates into
  1181.         other zones already setup with predetermined addresses. 
  1182.  
  1183.         When you have the "gate" config verb set to "zones" or
  1184.         "both" msgedsq will automatically send the message to the
  1185.         correct gate.  The message will contain a ctrl-a kludge
  1186.         (^aINTL) which contains the 3D destination address of your
  1187.         message.  When the message is sent into the other zone it
  1188.         will be readdressed to the original destination using this
  1189.         information.
  1190.  
  1191.      G3. Domain Gating
  1192.  
  1193.         What is it?  Domain gating allows us to communicate with
  1194.         other fidonet technology networks -- generally needed when
  1195.         the "other" network uses the same zones as we do. Usually
  1196.         you send the message to the gate system (the one that
  1197.         transfers mail between the two domains), which then takes
  1198.         your message and readdresses it within the other domain. To
  1199.         do this we need a ^aDOMAIN kludge which contains the
  1200.         destination domain's address as well as your own. To enable
  1201.         this ability, you must put the domain gates in your config
  1202.         file:  the 4D address of the domain gate with domain it
  1203.         gates. You must also have the "gate" config verb set to
  1204.         either "both" or "domains". With this done, msgedsq will
  1205.         gate any messages being written to disk with a destination
  1206.         domain listed as one of the gates. Noate that for this to
  1207.         occur the destination *domain* must be different to your own.
  1208.  
  1209.      G4. Host Routing
  1210.  
  1211.         This seems to be the "modern" replacement of zone gating and
  1212.         works on a similar principle.  Instead of being routed to
  1213.         the zone gate, the message is forwarded to the nearest gate
  1214.         (which may be much closer - there are about 5-6 systems
  1215.         between mine and the Oz-US zone gate; there are closer
  1216.         systems which call the States).  There doesn't seem to be
  1217.         any documentation on how this works but from what I can
  1218.         gather (don't take this as gospel :-), systems simply
  1219.         "forward" the mail till it gets to the destination. It's
  1220.         called "host routing" because the mail is passed on to each
  1221.         system's upline host, or bossnode. 
  1222.  
  1223.         You can do this in msgedsq by putting "gate none" or "gate
  1224.         domains" in the cfg file. In this case, Msgedsq will leave
  1225.         the binary address as-is (but still insert the ^aINTL
  1226.         kludge); there should be no problems.
  1227.  
  1228.  
  1229.  
  1230.      ┌────────────────────────┐
  1231.  H.  │▒▒ Carbon Copies      ▒▒│
  1232.      └────────────────────────┘
  1233.  
  1234.      Carbon copies, or "CC:'s" as they're commonly known, are simply a
  1235.      way of sending copies of the same message to a list of people. A
  1236.      CC: will work in all area types, but the addressing side is only
  1237.      useful in netmail/uucp areas.  Their operation is simple: you
  1238.      enter the list of names, with each line preceded by "cc:", enter
  1239.      the text of the message and save it. Msgedsq will stop looking
  1240.      for names on the first line NOT beginning with "cc:". The rest
  1241.      is automated.
  1242.  
  1243.  
  1244.      ┌ Example ──────────────────────────┐
  1245.      │ cc: joe bloe!3:1/1, fred smith    │
  1246.      │ cc: mike, jd                      │
  1247.      └───────────────────────────────────┘
  1248.  
  1249.      The '!' character delimits an address for the preceding name, if
  1250.      this is specified the name will NOT be looked up. If an address
  1251.      is not present, first the aliases will be checked, then the
  1252.      current nodelist, then the usual fidouser.lst.  Note that with
  1253.      aliases, the alias is replaced with the name, as in the
  1254.      following:
  1255.  
  1256.      (using above; assuming message was addressed to John Dennis)
  1257.      ┌────────────────────────────────────────────────────┐
  1258.      │ * Original to: John Dennis at 3:690/626.4          │
  1259.      │    CC'd to: joe bloe, fred smith, mike mad,        │
  1260.      │         john@miyu.dialix.oz.au                     │
  1261.      └────────────────────────────────────────────────────┘
  1262.  
  1263.      As you will have noticed, the "cc:" lines are deleted and a copy
  1264.      of the new message is sent to all those listed in the "cc:"
  1265.      lines. If you have "no savecc" commented then you will also get
  1266.      a copy of the original message, marked "sent" (which you can edit
  1267.      and re-send). The other messages are marked kill/sent.
  1268.  
  1269.      The text should begin *straight* after the last "cc:" line as a
  1270.      blank line is inserted after the last line entered. If the names
  1271.      will not fit on the first line (they extend past the right
  1272.      margin) then it will they will be wrapped to the next line. This
  1273.      short form is used because normal (read: the old msged way)
  1274.      looked pretty terrible & took up lots of msg text real estate. I
  1275.      know some people prefer the old way... Sorry...
  1276.  
  1277.      You can use UUCP addresses as both aliases and normal entry. If
  1278.      you wish to enter a bangpath, you MUST precede it with a '@'
  1279.      ("at" sign), or it will be confused with a fidonet address (don't
  1280.      worry, it will be stripped).
  1281.  
  1282.  
  1283.  
  1284.      ┌──────────────────────────┐
  1285.  I.  │▒▒ Cross Posting        ▒▒│
  1286.      └──────────────────────────┘
  1287.  
  1288.      Cross posting is similar to Carbon Copies, except the message is
  1289.      posted to the *same* addressee in multiple areas. It ONLY works
  1290.      in echomail areas (because it uses the echomail TAG name). Entry
  1291.      is similar to Carbon Copies:
  1292.  
  1293.      ┌ Example ───────────────────────────┐
  1294.      │ xc: tub, maxdev, muffin, squish    │
  1295.      │ xc: maxutil, blah, baka            │
  1296.      └────────────────────────────────────┘
  1297.  
  1298.  
  1299.      Msgedsq will stop looking for areas when it finds the first line
  1300.      without "xc:" in the first three chars. The "xc:" lines will be
  1301.      expanded to this:
  1302.  
  1303.      ┌─────────────────────────────────────────────────────┐
  1304.      │ * Crossposted to areas TUB, MAXDEV, MUFFIN, SQUISH, │
  1305.      │            MAXUTIL, BLAH, BAKA                      │
  1306.      └─────────────────────────────────────────────────────┘
  1307.                                  
  1308.      If you specify an area that doesn't exist the name will remain in
  1309.      the list (you won't be given an error msg :-).  Again, this
  1310.      reduced format was chosen to reduce the amount of space taken up,
  1311.      and increase readability.  Advice: don't crosspost to too many
  1312.      areas; or you will probably incur someone's wroth (which may or
  1313.      may not be a bad thing... :).
  1314.  
  1315.  
  1316.  
  1317.      ┌─────────────────────────────┐
  1318.  J.  │▒▒ Internet and Msgedsq    ▒▒│
  1319.      └─────────────────────────────┘
  1320.  
  1321.      Msgedsq is sort-of<tm> compatible with messages gated to/from the
  1322.      internet. This means that the internet messages must be stored
  1323.      in fidonet format, generally following the format UFGATE and
  1324.      FredGate use (popular gating programs). You can enter internet
  1325.      messages in both UUCP and netmail areas; it's your choice, tho
  1326.      netmail is probably easiest to work. Smart addresses are simply
  1327.      entered in the destination/origin name fields.  Addressing
  1328.      (fidonet style - the gate address) is handled by msgedsq - you
  1329.      cannot enter them once msgedsq realizes you have entered a
  1330.      internet address.
  1331.  
  1332.      From there you simply type in the text of the message and save
  1333.      it. When it is saved, a "To: " line is added to the beginning of
  1334.      the text and the destination name field is replaced with "UUCP".
  1335.      The destination address used is the uucp gate defined in the
  1336.      config file.
  1337.  
  1338.      When replying to messages gated from internet, the internet
  1339.      address is automatically obtained from any "From: " lines in the
  1340.      message's text and used for the reply.
  1341.  
  1342.  
  1343.  
  1344.      ┌───────────────────────────┐
  1345.  K.  │▒▒ Msgedsq and Points    ▒▒│
  1346.      └───────────────────────────┘
  1347.  
  1348.      Points can work in two ways; the old fashioned fakenet method or
  1349.      the newer (and nicer) 4D way.  If you have to run a fakenet,
  1350.      simply define it in the config file as an aka, and don't worry
  1351.      about it. You MUST define your "real" point address in any case;
  1352.      so your origin line and ctrl-a kludges get the right address.
  1353.      The pointnet will be placed in the binary header in all messages
  1354.      NOT marked "crash" or "direct". If you have a bossnode running
  1355.      squish and bink 2.5, then you'll be able to run a 4D address
  1356.      without any trouble (You have to set it up correctly tho - There
  1357.      is a program called ESC (written by Glen Gilbert) that can manage
  1358.      all this for you). Please note, that if you're using a fakenet
  1359.      you *must* also put it in the squish.cfg file.
  1360.  
  1361.      Other combinations of mailers/tossers may not work so well; i'm
  1362.      reasonably sure you can manage 4D with FrontDoor. It really
  1363.      depends on what your boss runs.
  1364.  
  1365.  
  1366.  
  1367.      ┌─────────────────────────────────────────┐
  1368.  L.  │▒▒ Default Reader Key Definitions      ▒▒│
  1369.      └─────────────────────────────────────────┘
  1370.  
  1371.  
  1372.      Msgedsq is in reader mode at all times except when you're
  1373.      actually editing a message.  These keys are redefinable, unless
  1374.      otherwise specified. See Appendix A for ReadKey function names.
  1375.  
  1376.  
  1377.      Up Arrow    Scrolls the message up one line.
  1378.      Down Arrow  Scrolls the message down one line.
  1379.      <pgdn>      Display the next page of the current message.
  1380.      <pgup>      Displays the previous page of the current message.
  1381.      <alt><e>    Enter a new message in the current area.
  1382.      <alt><r>    Reply/no quote to FROM name.
  1383.      <alt><q>    Reply/quote to FROM name.
  1384.      <alt><u>    Reply/quote to TO name.
  1385.      <alt><n>    Reply/quote to FROM name in another area.
  1386.      <alt><y>    Reply/quote to TO name in another area.
  1387.      <alt><w>    Writes the current message to device.
  1388.  
  1389.      <alt><m>    Move/forward/copy message.
  1390.              <m> -   Move a message to a selected area.
  1391.              <c> -   Copy a message to another area. 
  1392.              <f> -   Forward a message to another person.
  1393.              <r> -   ditto, but make it from user.
  1394.  
  1395.      <alt><c>      Change header/text of msg, time not updated.
  1396.      <alt><d>      Deletes the current message.
  1397.      <alt><v>      Toggle display of hidden information.
  1398.      <alt><f>      Search for text thru current area. 
  1399.      Right Arrow   Move to the next message in the current area.
  1400.      Left Arrow    Move to the previous message in the current area.
  1401.      <msg number>  Move to the specified message number.
  1402.  
  1403.      <alt><a>    Change area; Picklist will be displayed;
  1404.              <home>    Move to the first area in the list.
  1405.              <end>     Move to the last area in the list.
  1406.              <pgup>    Move the cursor up one page.
  1407.              <pgdn>    Move the cursor down one page.
  1408.              Up Arrow  Move the previous area.
  1409.              Dwn Arrow Move to the next area.
  1410.              <enter>   Selects the area the cursor is on.
  1411.              <esc>     Returns to the current area.
  1412.  
  1413.      <*>      Scan all available areas for messages.
  1414.      <+>      Moves to the next area with unread messages.
  1415.      <->      Moves to the previous area with unread messages.
  1416.  
  1417.      <alt><l>    Lists (one per line) msgs in current area;
  1418.              Up Arrow   Move up one message
  1419.              Dwn Arrow  Move down one message
  1420.              <pgup>     Move up one page in the listing.
  1421.              <pgdn>     Move down one page in the listing.
  1422.              <alt><a>   Toggles display-addresses (netmail).
  1423.              <esc>      Abort.
  1424.              <enter>    Goto area.
  1425.      <ctrl><Lft>   Move to prev msg in the current message thread.
  1426.      <ctrl><Rght>  Move to next msg in the current message thread.
  1427.      <tab>         Unconditionally go to next message in thread.
  1428.      <home>        Move to the first msg in the current msg thread.
  1429.      <end>         Move to the highest numbered message you've read.
  1430.      <alt><s>      Displays/alter switches.
  1431.      <ctrl><a>     Pick Attribution line.
  1432.      <ctrl><h>     Edit header
  1433.      <ctrl><w>     Change current address.
  1434.      <ctrl><n>     change current nodelist.
  1435.      <ctrl><u>     Change current username.
  1436.      <alt><h>      Read help file.
  1437.      <!>           Execute a dos command.
  1438.      <alt><o>      Shell to the operating system.
  1439.      <esc>         Exit msgedsq.
  1440.  
  1441.  
  1442.  
  1443.      ┌──────────────────────────────────────┐
  1444.  M.  │▒▒ Edit Mode Key Definitions        ▒▒│
  1445.      └──────────────────────────────────────┘
  1446.  
  1447.      Edit mode is operative when editing messages.  They are all
  1448.      redefinable. See Appendix B for EditKey function names.
  1449.  
  1450.      <alt><c>      Cut Anchor To Current Line.
  1451.      <alt><p>      Paste Clipboard Into Text.
  1452.      <alt><i>      Import A Textfile.
  1453.      <alt><w>      Export Message Text To A File.
  1454.      <ins>         Toggle Insert/Typeover Mode.
  1455.      <tab>         Insert Spaces To Next Tab.
  1456.      <Enter>       Break Line At Cursor.
  1457.      <bckspc>      Backspace And Delete or (<ctrl><h>).
  1458.      <del>         Delete Character Under Cursor.
  1459.      <crtl><t>     Delete Word.
  1460.      <alt><k>      Delete To End Of Line.
  1461.      <alt><d>      Delete Current Line.
  1462.      <esc>         Exit To Reader Without Saving.
  1463.      <alt><s>      Save Message, Return.
  1464.      <alt><1>      Execute a single DOS command.
  1465.      <alt><o>      Shell To DOS.
  1466.      Lft Arrow     Move Cursor One Left.
  1467.      Rt Arrow      Move Cursor One Right.
  1468.      Up Arrow      Move Up One Line.
  1469.      Down Arrow    Move Down One Line.
  1470.      <ctrl><pgup>  Move To Top Of Screen.
  1471.      <ctrl><pgdn>  Move To Bottom Of Screen.
  1472.      <pgup>        Move Up One Page.
  1473.      <pgdn>        Move Down One Page.
  1474.      <ctrl><Lft>   Move Left One Word.
  1475.      <ctrl><Rt>    Move Right One Word.
  1476.      <ctrl><home>  Move To First Line Of Message.
  1477.      <ctrl><end>   Move To Last Line Of Message.
  1478.      <home>        Go To Beginning Of Line.
  1479.      <end>         Go To End Of Line.
  1480.      <alt><b>      Count bytes in message.
  1481.      <ctrl><u>     Undelete line.
  1482.      <alt><q>      Toggle quote status of line.
  1483.      <alt><1>      OS command.
  1484.  
  1485.  
  1486.  
  1487.      ┌───────────────────────────────────┐
  1488.  N.  │▒▒ Redefining the Keyboard       ▒▒│
  1489.      └───────────────────────────────────┘
  1490.  
  1491.  
  1492.      Almost all keys are redefinable, with the exception of menu
  1493.      selection, scrolling & paging, help and field editing keys.
  1494.      Don't reassign keys to combinations that include escape or you
  1495.      won't be able to exit.
  1496.  
  1497.      Defining keys assignments in the configuration file requires that
  1498.      you know the extended ASCII codes of the keys. A small utility
  1499.      called keycode.exe has been included for that purpose:  run it,
  1500.      record what the keypresses produce and then exit by typing 'q'.
  1501.  
  1502.      Key assignments are made in this form:
  1503.  
  1504.         readkey keycode command
  1505.         readkey 0x000d alast
  1506.  
  1507.      or 
  1508.  
  1509.         editkey keycode command
  1510.         editkey 0x0016 undelete
  1511.  
  1512.      The keycode must be in the format shown above (hexadecimal).
  1513.      If you don't know, the "0x" simply means that the number is
  1514.      hexadecimal, and it must be there.
  1515.  
  1516.  
  1517.      N1. Function Key Macros
  1518.  
  1519.  
  1520.      Msgedsq is capable of executing macros, a pre-recorded set of
  1521.      keystrokes that can be executed by pressing one key. Macros are
  1522.      assigned to the function keys and their <crtl> <alt> and <shift>
  1523.      counterparts; 40 in all.  Function is a special case, it is
  1524.      executed on startup. The rest are:
  1525.  
  1526.      1-10    <f1>        - <f10>
  1527.      11-20   <shift><f1> - <f10>
  1528.      21-20   <ctrl><f1>  - <f10>
  1529.      31-40   <alt><f1>   - <f10>
  1530.  
  1531.      The function number is preceded by "function" and trailed by the
  1532.      macro itself.  Keystroke numbers are limited only by available
  1533.      memory - it is possible to store a canned message as a macro.
  1534.  
  1535.      N2. Caveats
  1536.  
  1537.      Macros are active throughout msgedsq's operation.  Recursive
  1538.      macros are not supported.  Generally you can abort a macro by
  1539.      pressing <esc>, but this is not guaranteed :-)  The autostart
  1540.      function requires an extra char at the beginning - it will be
  1541.      eaten, so anything can be used.
  1542.  
  1543.  
  1544.  
  1545.      ┌────────────────────────────────────┐
  1546.  O.  │▒▒▒ Contacting the Author        ▒▒▒│ 
  1547.      └────────────────────────────────────┘ 
  1548.  
  1549.  
  1550.      When contacting me for help, please think about whether you can
  1551.      get an answer locally first; it saves everyone trouble. You can
  1552.      send me messages in the MSGED_ECHO and netmail. 
  1553.      
  1554.      Bug reports/feedback is/are always welcome. If you can, send me
  1555.      as much info as possible, rather than "it's broke!" (A waste of
  1556.      everyones' time).
  1557.  
  1558.      Most of all: _RTM_ before calling (please!). If you think
  1559.      the documentation is inadequate, and you ask me for help, I
  1560.      would appreciate it if you used the information I give you to
  1561.      reword the documentation and send me the new doco.
  1562.  
  1563.  
  1564.  
  1565.      ┌───────────────────────────────────────┐
  1566.  P.  │▒▒ Hints/Panic Questions Etc.        ▒▒│
  1567.      └───────────────────────────────────────┘
  1568.  
  1569.      Q. My othernetwork<tm> mail gets scanned out to my Fido
  1570.         address! What the @#!*)$* is happening here?!
  1571.  
  1572.      A. You must include all your addresses in the squish config
  1573.         file. The area definitions in the squish config file must
  1574.         have a -p<node> with node being the primary address for that
  1575.         area.  After you've checked that, check out the msgedsq
  1576.         config files;   if you're using  squish.cfg for area
  1577.         definitions, you shouldn't have any trouble. If not, make
  1578.         sure you have the address on the area definition lines (see
  1579.         section on area definition).
  1580.  
  1581.         Set the show addresses switch on and go to the area in
  1582.         question & have a look. If it's a netmail area, check that
  1583.         you've got your squish routing file correct.  If you're
  1584.         using FD, you should have no worries as long as the aka's
  1585.         have been defined in the FDsetup proggy. Failing all this,
  1586.         ask someone... :-)
  1587.  
  1588.      Q. I'm a point and my mail bounces back to me from my bossnode!
  1589.  
  1590.      A. Your bossnode probably hasn't got 4D setup completely; if
  1591.         your mail is coming to you with your fakenet in the seenbys,
  1592.         use AddToSeen (in squish.cfg) with your fakenet address. I
  1593.         have yet to see a true 4D system setup :-/ There are some
  1594.         funny things that happen around here - feel free to netmail
  1595.         me on this one...
  1596.  
  1597.      Q. My messages are being routed to the zonegate, even though I
  1598.         have "gate none" in my msgedsq config file. OR: My messages
  1599.         aren't being routed to the right zone (when you see the
  1600.         address when squish squashes the netmail area).
  1601.  
  1602.      A. Make sure you've got all the gaterouting stuff in squish.cfg
  1603.         either setup correctly, or commented out. You can see the
  1604.         binary address in netmail areas when you do an <alt><l>. If
  1605.         you're a point and you have pointnet defined in msged.cfg
  1606.         (and you're setup as 4D in squish), make sure you have the
  1607.         fakenet addr defined as an Address in squish.cfg. This gets
  1608.         pretty confusing, I know, but it's all a matter of setting
  1609.         squish so that it knows where the addresses in your msg are
  1610.         coming from.
  1611.  
  1612.      Q. My mailer is barfing on some really weird zones and point
  1613.         addresses from my *.msg netmail areas. This never happened
  1614.         until I used msgedsq!
  1615.  
  1616.      A. Some mailers (and editors) use and undefined part of the
  1617.         *.msg header for zone and point information. Msgedsq (and
  1618.         Maximus, Squish  and many  others) use this  for the
  1619.         date_written and date_arrived fields. You can turn this off
  1620.         by putting "no opus" in your msgedsq config file.
  1621.  
  1622.      Q. I keep on losing my cursor when I shell to dos then return.
  1623.  
  1624.      A. Due to the large number of cards floating about, msgedsq is
  1625.         only (known to be) compatible with EGA and VGA video
  1626.         adapters.  If you can provide me with a way (in asm, or C)
  1627.         to identify your card *and* turn off/on the cursor, I will
  1628.         attempt to put it in future versions of msgedsq.  However,
  1629.         if you know what the your cursor size is, use the curend and
  1630.         curstart config file verbs to set up your cursor size...
  1631.  
  1632.      Q. When squish is tossing in the background I sometimes get
  1633.         empty areas, even tho I know there are messages in them.
  1634.  
  1635.      A. Squish (from what I can observe), keeps as many areas open
  1636.         when tossing to the msgbases; and when open it locks them
  1637.         from access to other programs.  If this happens, you will
  1638.         have to retry opening the area (<alt><a> and picking it
  1639.         again), until squish has finished with it. If squish locks
  1640.         a msgbase while you are in it, you may have troubles writing
  1641.         to the msgbase.  I would suggest that you NOT write while
  1642.         the msgbase is locked (this usually only happens when squish
  1643.         is tossing/scanning to a msgbase), although it *should* be
  1644.         safe (Msgedsq does use the MsgAPI released by Scott).
  1645.         Of course, you can't tell if the msgbase is locked until
  1646.         something happens... Msgedsq will try to detect this and
  1647.         will stop and then ask you to try writing again.
  1648.  
  1649.      Q. I was in an FIDO area with squish was running in the
  1650.         background. When I tried to go to the next msg/prev msg,
  1651.         msgedsq locked up & required reboot to continue...
  1652.  
  1653.      A. Msgedsq did NOT lock up; simply, the messages that it was
  1654.         trying to go to (stored in internal list) were not there
  1655.         anymore;  squish probably deleted them/it (kill/sent). To
  1656.         get out of this, use <alt><l> to find a message that is
  1657.         there, and then re-scan the area.
  1658.  
  1659.      Q. I'm trying to send msgs to a UUCP gate, and the msgs seem to
  1660.         be not set up right... I have the domain gates set up in the
  1661.         config file!
  1662.  
  1663.      A. UUCP and domain gating are NOT compatible, or even the same
  1664.         thing!  Domain gating is only for messages into FTN
  1665.         networks; UUCP gating requires a few other kludges for it to
  1666.         work.  You MUST set up the UUCP gate ("uucp <gate>") in
  1667.         msged.cfg for it to work. Addresses are entered in the name
  1668.         field (ie: john@miyu.dialix.oz.au), not the address field.
  1669.  
  1670.  
  1671.      P1. Hints
  1672.  
  1673.      Points: If you can (bossnode running 4D aware mailer/tosser) 
  1674.              then remove pointnets from  sight in msged.cfg. If 
  1675.              you have to (areafix?) then use the pointnet as another
  1676.              address, and switch to it when needed.
  1677.  
  1678.      Multitasking: If you're running a multi-tasking system with
  1679.              users online, and squish tossing etc; you should
  1680.              rescan the current area if you know some new msgs
  1681.              have been written (and you want to read them).
  1682.              Msgedsq keeps an internal list of msgs, and this
  1683.              will need to be updated to reflect the msgs every
  1684.              now and again...
  1685.  
  1686.  
  1687.  
  1688.      ┌───────────────────────────────────────────┐
  1689.      │▒▒ Appendix A: ReadKey Function Names    ▒▒│
  1690.      └───────────────────────────────────────────┘
  1691.  
  1692.      ReadKey Commands
  1693.  
  1694.      next_area  goto Next area with unread msgs.
  1695.      last       goto highest read message in area.
  1696.      view       toggle veiwing of hidden notes.
  1697.      search     find a text string.
  1698.      reply      reply to current message (no quote).
  1699.      export     write current message to file.
  1700.      list       list messages in area.
  1701.      exit       exit program.
  1702.      next       go to next message.
  1703.      followup   reply/comment to TO: name.
  1704.      first      goto first message in msgbase.
  1705.      chnodel    change lookup nodelist.
  1706.      previous   goto previous message.
  1707.      link_to    goto up-link for message.
  1708.      home       goto first message in reply chain.
  1709.      delete     delete current message.
  1710.      quote      reply/quote current message.
  1711.      dos        do a dos command.
  1712.      change     change current message.
  1713.      prev_area  goto previous area with unread messages.
  1714.      chngaddr   change current address for area.
  1715.      attrib     choose attribution line.
  1716.      slast      goto last message in area.
  1717.      name       change the username.
  1718.      areas      change area (with picklist).
  1719.      link_from  link downwardsfrom current message.
  1720.      shell      go to an operating shell.
  1721.      newmsg     create a new message.
  1722.      move       get move menu.
  1723.      config     change msged switches.
  1724.      null       do nothing.
  1725.      scan       scan areas for new messages.
  1726.      repoth     reply to message in another area.
  1727.      u-next     go to uplink from current msg (no menu).
  1728.      astart     go to first msg read when entering area.
  1729.  
  1730.  
  1731.  
  1732.      ┌───────────────────────────────────────────┐  
  1733.      │▒▒ Appendix B: EditKey Function Names    ▒▒│ 
  1734.      └───────────────────────────────────────────┘  
  1735.  
  1736.      backspace  move vursor back one, deleting current char.
  1737.      left       move cursor left one char.
  1738.      wordright  move cursor one word right.
  1739.      newline    add a hard return and goto begining of next line.
  1740.      down       move cursor down one line.
  1741.      pgdn       move cursor down one page.
  1742.      goeol      move cusor to end of line.
  1743.      anchor     create anchor for cut/paste.
  1744.      quit       quite the message editor.
  1745.      import     import text (from file) into editor.
  1746.      shell      goto operating system shell.
  1747.      insert     toggle insert mode.
  1748.      tab        move cursor tab spaces to right.
  1749.      top        goto top of page.
  1750.      first      move cursor to top of message.
  1751.      del        delete char under cursor.
  1752.      toggleq    toggle quote status of line.
  1753.      deleol     delete everything to end of line.
  1754.      right      move cursor right one char.
  1755.      wordleft   move cursor left one word.
  1756.      up         move cusror up one line.
  1757.      pgup       move cursor up one page.
  1758.      delline    delete current line.
  1759.      cut        cut from current line to the anchor point and add
  1760.                 to the clipboard.
  1761.      paste      paste from clipboard to current position.
  1762.      abort      abort editing of message.
  1763.      export     write text in clipboard to file, or if no text in
  1764.                 clipboard, write whole message.
  1765.      gobol      move cursor to the beginning of line.
  1766.      undel      undelete line (last 30 are saved).
  1767.      null       do nothing.
  1768.      bottom     move to the bottom of page.
  1769.      last       move tolast line in message.
  1770.      killword   kill word under cursor.
  1771.      bytecount  display total bytes in message.
  1772.      oscmd      Do an os command.
  1773.  
  1774.  
  1775.  
  1776.      ┌───────────────────────────────────────────┐  
  1777.      │▒▒ Appendix C: Template Token Names      ▒▒│       
  1778.      └───────────────────────────────────────────┘                              
  1779.  
  1780.      %yms    // year msg               
  1781.      %yno    // year now               
  1782.      %mms    // month msg               
  1783.      %mno    // month now               
  1784.      %dms    // day msg                
  1785.      %dno    // day now                
  1786.      %wms    // weekday msg              
  1787.      %wno    // weekday now              
  1788.      %tnm    // time msg normal            
  1789.      %tnn    // time now normal            
  1790.      %tam    // time msg atime            
  1791.      %tan    // time now atime            
  1792.      %ofn    // orginal from name           
  1793.      %off    // original from first name       
  1794.      %otn    // original to name           
  1795.      %otf    // original to first name        
  1796.      %osu    // original subject           
  1797.      %ooa    // original origin address        
  1798.      %oda    // orginal destination address      
  1799.      %fna    // from name               
  1800.      %ffn    // from first name            
  1801.      %fad    // from address             
  1802.      %tna    // to name                
  1803.      %tfn    // to first name             
  1804.      %tad    // to address              
  1805.      %sub    // subject                
  1806.      %una    // current user name           
  1807.      %ufn    // current user first name            
  1808.      %uad    // current user address         
  1809.      %ceh    // current echo tag (before area change) 
  1810.      %oeh    // old echo tag             
  1811.      %ims    // iso date of message
  1812.      %ino    // iso date now
  1813.      %cms    // 4-digit year of message
  1814.      %cno    // 4-digit year now
  1815.      
  1816.  
  1817.      ┌───────────────────────────────────────────┐  
  1818.      │▒▒ Appendix D: Origin Line philosophy    ▒▒│ 
  1819.      └───────────────────────────────────────────┘  
  1820.      
  1821. A number of people have asked why the treatment of origin lines
  1822. is different in this version of MSGED.  The reason is as follows:
  1823.  
  1824. Originally, all control information was stored in the header of
  1825. the message.  That is where you will find the date that the
  1826. message was written, for example.
  1827. Then the designers realised that they needed to specify more
  1828. information, which they hadn't allowed room for in the header
  1829. (and there was no expansion capability in the header).  So they
  1830. decided to intrude on the user's text.  However, to distinguish
  1831. between what the user wrote and what was control information,
  1832. they prefixed the control lines with x'01'.  This makes for a 
  1833. clear distinction between control information and user text.
  1834. Unfortunately, when it came time for expansion to provide
  1835. echomail, the designers DIDN'T put a x'01' in front of the new
  1836. control lines that they created, which is completely mad.  It is
  1837. far too late to change that now, so we have to live with the 
  1838. following abortions:
  1839.  
  1840. Area line, e.g. AREA:MSGED_ECHO
  1841. Tearline, e.g. --- msged/sq
  1842. Origin line, e.g.  * Origin: Big BBS (3:666/666)
  1843. SEENBY lines, e.g. SEEN-BY: 711/934 809
  1844.  
  1845. There is no doubt that these lines are control lines, as they
  1846. are governed by an FTS spec (FTS-4), and are always inserted
  1847. by software (ie the user never types " * Origin: xxxx" when
  1848. they post messages from your BBS, to make sure they conform
  1849. to the appropriate spec - ROFL!).
  1850.  
  1851. Now the way MSGED works is that it adds the control information
  1852. whenever you save the message.  It strips all the old stuff and
  1853. adds the new stuff.  However, it is very difficult (actually it
  1854. is impossible if tearline and origin line are not compulsory,
  1855. which they may or may not be, depending whose interpretation of
  1856. the spec you use) to determine whether a line beginning "---" is
  1857. a control line (ie inserted by software) or whether the user
  1858. typed it in.  Ditto for Origin and SEENBY, and even AREA.  The
  1859. way MSGED 2.2e handled the situation was to delete all lines that
  1860. started "SEEN-BY:" regardless of whether the user typed them in 
  1861. or not, and if it found any occurrences of "---" or "* Origin"
  1862. in a message that was not brand new, it would assume that these
  1863. messages already had a tearline, and not insert a tear or origin.
  1864.  
  1865. ie, if you want to see MSGED/SQ 2.2e get fooled, just go in and
  1866. create a message and save it (after which it will have got a
  1867. tearline and origin inserted), go and type "--- something" on
  1868. a line near the top, go and delete the "---" down the bottom,
  1869. and you will find it does not insert a tearline, and your
  1870. message is technically invalid, according to some interpretations
  1871. of FTS-4 (my interpretation says that both tearline and origin
  1872. line are compulsory, others think they are both optional).  In
  1873. either case, MSGED/SQ is designed to insert them.
  1874.  
  1875. Anyway, to ensure that there is NO doubt whatsoever as to which
  1876. bit is user-text and which bit is control information, without
  1877. having to make arbitrary decisions like "don't let the user
  1878. type "---" or "SEEN-BY" etc", I did the following:
  1879.  
  1880. 1. Add the SOT/EOT kludge lines to bracket the user text.
  1881. 2. Don't (normally) display the origin, tearline or seenbys.
  1882.  
  1883. Thus if you are set up this way (ie you have "switch soteot on"
  1884. and "switch seen-bys off") then you will never see anything in
  1885. the text space except user text, ie what you were originally
  1886. meant to see!  Furthermore, you can enter "---" or any other
  1887. text, and MSGED knows that it is ALL just user text, and will
  1888. not try to treat that as a control line.
  1889.  
  1890. However, if you choose to display this control information,
  1891. then it means the user-text has been corrupted with control
  1892. information, which means it needs to be stripped out before
  1893. adding a new tearline and origin line.  That is why if you
  1894. enter "---" in a message and you have "switch seen-bys on",
  1895. then that line will be deleted.  Since "---" is just normal
  1896. ascii text, you probably don't want it to be stripped,
  1897. therefore, don't pollute your user text with control information
  1898. by switching seen-bys on!
  1899.  
  1900. Similarly, if you switch soteot off, then there is no way, when
  1901. reading a message from disk, to tell whether a "---" is a tearline 
  1902. or a bit of user text, so it will be stripped unless it is
  1903. bracketed with SOT/EOT.  So I suggest you don't lose the clear
  1904. bracketing of user-text, and instead make sure you have soteot
  1905. switched on.
  1906.  
  1907. Actually, it is pretty silly even having the distinction between
  1908. control information which is prefixed by x'01' and that which
  1909. isn't.  It would be more appropriate to have just the one
  1910. "shownotes" which shows either all of the control information,
  1911. or none of it.  I may make this change in a future release of
  1912. MSGED/SQ.
  1913.  
  1914. BTW, there is some useful control information in the origin line,
  1915. namely the origin address.  MSGED extracts this information and
  1916. displays it next to the "from" name.  Which means the only thing
  1917. that isn't displayed is the free-format text in the origin line,
  1918. which is meant to contain the system name (although some people
  1919. put something silly there instead).  If you want to see the 
  1920. origin line for it's joke value, I suggest instead that you FREQ
  1921. JOKES01.ZIP from my system, or one of the many other joke files
  1922. that are around, or tag AUST_HUMOUR, or the international HUMOR
  1923. echo.  If you want to know the system name (or sysop name), then
  1924. I could use the address and do a lookup of the nodelist and 
  1925. display that under the "AREA" line, if there is a lot of demand
  1926. for that.  It's a waste of a line in my opinion.  What I would
  1927. then do is put "(P9) system name" if the address was a point off
  1928. a system, rather than the exact address.
  1929.  
  1930. In summary, I strongly recommend:
  1931. switch seen-bys off
  1932. switch soteot on
  1933.  
  1934.  
  1935. One other note.  Anyone who transmits SOT/EOT signifies that any
  1936. x'8d' in a message is a real character, not a soft-CR.  MSGED/SQ
  1937. picks up on this and will display x'8d' on a message that has
  1938. SOT/EOT, but delete them on messages without.  This is of
  1939. importance to non-English-speaking countries who use that character
  1940. as part of their alphabet.  Both Russia and Japan are two countries
  1941. that I know of that use this character.
  1942.  
  1943.  
  1944.      ┌────────────────────────────┐  
  1945.      │▒▒ Appendix E: Credits    ▒▒│ 
  1946.      └────────────────────────────┘  
  1947.      
  1948. The following people have contributed significantly to MSGED.
  1949. There are probably others, but I don't remember them at the
  1950. moment, or never did (before my time).  I just didn't want the
  1951. recent work of some people to go unmentioned:
  1952.  
  1953. Jim Nutt, for the original version
  1954. John Dennis, for the squish version
  1955. Paul Edwards, for the 32-bit OS/2 port
  1956. Bill Grimsley, for updating the documentation
  1957. Bill Bond, for enhancements and bug fixes
  1958.  
  1959. and indirectly, Scott Dudley for the MSGAPI which is used to
  1960. access Squish (TM) areas.
  1961.  
  1962.  
  1963.      ┌──────────────────────────────────────┐  
  1964.      │▒▒ Appendix F: Miscellaneous Notes  ▒▒│ 
  1965.      └──────────────────────────────────────┘  
  1966.  
  1967. This section is for random things that haven't been merged into
  1968. the documentation.  It's free format, because otherwise you 
  1969. won't get anything.  It also might not be accurate.
  1970.  
  1971. You can go '*' in the area list.
  1972. You can edit the message header with ctrl-h or something.
  1973. You can have origin lines for different areas by using *.SQO,
  1974. or else AREAS.BBS.
  1975. You can continuous scroll up in the message list with the mouse.
  1976. There may or may not be a keystroke that does ROT13, but there is
  1977. a rotate function you can assign a key to at any rate.
  1978. You can use "Colour" instead of "Color" if you would rather use
  1979. English instead of an abortion.
  1980.  
  1981.  
  1982. End of MSGED/SQ Documentation
  1983.