home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / bbs / fn132bin / fdman / chapter.03 < prev    next >
Text File  |  1991-09-03  |  115KB  |  2,364 lines

  1.  
  2.  
  3. Chapter 3:  User Command Reference                                        24
  4.  
  5.  
  6.  
  7.  
  8. 3  User Command Reference
  9.  
  10.  
  11.    This chapter documents in gory detail the basic  single-key and multi-key
  12. extended commands that all  users have access to.  Most of  this information
  13. is present in a more terse format in the online menus  and help files, which
  14. you should  encourage your users  to read  often in order  to make the  best
  15. use of  Fnordadel's capabilities.   Don't be  surprised, however, when  they
  16. ignore all  the documentation  available to  them in favor  of doing  things
  17. inefficiently or  complaining that they  can't figure  out how things  work.
  18. Users are like that.
  19.  
  20.    The chapter  will deal  will single-key commands  first, then  multi-key,
  21. and finish with miscellaneous functions.
  22.  
  23.  
  24.  
  25. 3.1  Single-key User Commands
  26.  
  27.    The Fnordadel single-key commands will allow you and your  users to carry
  28. out the  majority of  your activities on  the system.   They  do the  things
  29. people most  often wish done,  and have therefore  been streamlined so  they
  30. don't get in the way.   This has the side effect of making  them inflexible,
  31. but flexibility is what the multi-key commands (coming up soon) are for.
  32.  
  33.  
  34. 3.1.1  Room prompt commands
  35.  
  36.    Users hitting the  `?' key at a room  prompt will see something like  the
  37. following list of commands:
  38.  
  39.       MESSAGES:
  40.       [E]nter message
  41.       [F]orward read
  42.       [N]ew messages
  43.       [O]ld messages
  44.       [R]everse read
  45.       [=]read headers of new messages
  46.       [#]message number
  47.  
  48.       NAVIGATION:
  49.       [B]ackup from this room
  50.       [G]oto next room with new messages
  51.       [K]nown rooms list
  52.       [M]ail room direct
  53.       [S]kip room
  54.       [U]ngoto from this room
  55.       [+]next room (new messages or not)
  56.       [-]previous room (new messages or not)
  57.       [>]next floor
  58.       [<]previous floor
  59.  
  60.       OTHERS:
  61.       [C]hat with Sysop
  62.       [D]ownload file
  63.       [H]elp
  64.  
  65.  
  66.  
  67. Chapter 3:  User Command Reference                                        25
  68.  
  69.  
  70.  
  71.  
  72.       [I]nformation on this room
  73.       [L]ogin (Must do this!)
  74.       [T]erminate (Goodbye)
  75.       [U]pload file
  76.       [Z] Forget this room
  77.  
  78.       [.] prefixes extended commands.
  79.       [;] prefixes floor commands.
  80.       [!] prefixes door commands.
  81.  
  82.  
  83. 3.1.1.1  Entering and reading messages
  84.  
  85.    You and  (more importantly) your  users will  be spending a  lot of  time
  86. entering messages,  and reading ones posted  by other users.   There is  one
  87. basic way to enter  messages, but several ways to read them,  reflecting the
  88. differences between old and new messages in a room.
  89.  
  90. [E]nter message
  91.            This command  is one that  will be heavily  used on your  system,
  92.            with any  luck.   When executed, it  will take the user  straight
  93.            into message  entry mode,  unless the current  room is the  Mail>
  94.            room.   (In Mail>, the  system will first ask  for the name of  a
  95.            user to whom the message will be sent, privately.)   If the right
  96.            combination of  user __net privileges__  and room status  exists,
  97.            the system  will make  the message __networked__,  automatically.
  98.            See Section 8.4 [Roomsharing], page 112.
  99.  
  100.            An opening  help message  will be  displayed by  the system  just
  101.            before going  into the editor, unless  the user has set  __expert
  102.            mode__ on (see Section 3.5 [User Configuration], page  56).  This
  103.            message can be altered, but we recommend keeping it  a bit on the
  104.            verbose side,  since the Fnordadel editor  is not like very  many
  105.            others out there.   For full  details on the message editor,  see
  106.            Section 3.4 [The Message Editor], page 52.
  107.  
  108. [F]orward read
  109.            This command  is infrequently  used.   It will  cause the  system
  110.            to  display all  messages  in  the current  room,  starting  with
  111.            the oldest  and ending  with the newest.    Users will rarely  be
  112.            concerned with the ancient history that this  command will dredge
  113.            up, but it's there for the curious.
  114.  
  115.            Message display  is automatically  placed in `more'  mode if  the
  116.            current room is Mail>, or the user has  configured `more' mode to
  117.            be used by default.  See Section 3.6 [More Mode], page 59.
  118.  
  119. [N]ew messages
  120.            This command  is the  most frequently  used, and  will cause  the
  121.            system  to display  all  new messages  in  the current  room,  in
  122.            the order  they were  entered.   If the  user configuration  flag
  123.            ``show last old message  on [N]ew'' is set, the last  old message
  124.            in  the  room (if  any)  will  be displayed  first,  followed  by
  125.            the  new messages  in normal  fashion.    See Section  3.5  [User
  126.            Configuration], page 56.
  127.  
  128.  
  129.  
  130. Chapter 3:  User Command Reference                                        26
  131.  
  132.  
  133.  
  134.  
  135.            Message display  is automatically  placed in `more'  mode if  the
  136.            current room is Mail>, or the user has  configured `more' mode to
  137.            be used by default.  See Section 3.6 [More Mode], page 59.
  138.  
  139. [O]ld messages
  140.            This command  is the opposite  of [N]ew,  and allows for  reading
  141.            old messages  in the  room, in  reverse order  of entry.   It  is
  142.            often used, since it will quickly show  the discussion leading up
  143.            to the room's newer messages.
  144.  
  145.            Message display  is automatically  placed in `more'  mode if  the
  146.            current room is Mail>, or the user has  configured `more' mode to
  147.            be used by default.  See Section 3.6 [More Mode], page 59.
  148.  
  149. [R]everse read
  150.            This command  is like [O]ld,  and is  the opposite of  [F]orward.
  151.            It starts  displaying messages with the  newest one in the  room,
  152.            and works backwards from there.
  153.  
  154.            Message display  is automatically  placed in `more'  mode if  the
  155.            current room is Mail>, or the user has  configured `more' mode to
  156.            be used by default.  See Section 3.6 [More Mode], page 59.
  157.  
  158. [=]headers of new messages
  159.            This  command  allows  users to  quickly  skim  through  the  new
  160.            messages  in  the current  room,  viewing  only  selected  header
  161.            information from  each message  (for example,  ``91Aug19 7:38  am
  162.            from:  Mr.   Neutron'').   The Sysop and Co-Sysops will  be shown
  163.            somewhat more information than will regular users  or Aides (e.g.
  164.            ``176641 (176641)  91Aug31 3:19  pm:  from  Not Quite  Cricket'',
  165.            where the  first two numbers are  the local and original  message
  166.            ID numbers, respectively).
  167.  
  168.            In  the Mail>  room,  the "from:"  information will  be  replaced
  169.            by  "to:" information,  for those  messages entered  by the  user
  170.            seeing the headers.  Additional information will  be shown on the
  171.            console if citadel is started with the `+debug'  option.  Subject
  172.            lines will also  be shown for net messages originating  on STadel
  173.            systems that were sent over with subjects.
  174.  
  175.            This command  never uses `more' mode to  display headers.   Also,
  176.            it is  not of  much use  in anonymous  rooms, where  there is  no
  177.            header information to speak of.
  178.  
  179. [#]message number
  180.            This  command will  probably be  rarely used  by anybody.    What
  181.            it  does  is allow  a  user  to  read a  specific  message  in  a
  182.            room, by  supplying its message  ID number.   Message ID  numbers
  183.            can  be obtained  by Co-Sysops  using  `=', described  above,  or
  184.            `.R=', described  in Section  3.2.2.1 [Multi-key message  reading
  185.            commands],  page  39.    Normal users  can  only get  message  ID
  186.            numbers in anonymous rooms, where they are a  normal part of each
  187.            message header.
  188.  
  189.  
  190.  
  191. Chapter 3:  User Command Reference                                        27
  192.  
  193.  
  194.  
  195.  
  196. 3.1.1.2  Navigating between rooms
  197.  
  198.    In order to use all  of those commands you learned about in  the previous
  199. section, you will probably  want a way to move about among the rooms  on the
  200. system.  Take it from us, the Lobby> room can get boring real fast.
  201.  
  202. [B]ackup from this room
  203.            This  command is  equivalent to  the  old [U]ngoto  command,  and
  204.            allows  the user  to reverse  the effects  of the  last few  goto
  205.            and/or skip  commands.   [B]ackup  returns the user  to the  room
  206.            he/she left prior to entering the current room.   New messages in
  207.            the room exited are not updated in any way;  normal use of [G]oto
  208.            or [S]kip  will return the user  to these rooms  once more.   All
  209.            messages in  each room  re-entered via [B]ackup,  which were  new
  210.            when the user last entered the room, are re-marked as new.
  211.  
  212.            [B]ackup can  be used several  times in succession.   The  system
  213.            currently keeps track  of the 16 most recently-visited  rooms for
  214.            use by [B]ackup/[U]ngoto.
  215.  
  216. [G]oto next room with new messages
  217.            This command  will take  a user to  the next  room on the  system
  218.            that has  at least one  new message in  it, and  mark all of  the
  219.            messages in the room being  left as old.  When there are  no more
  220.            new messages in  any room accessible to the user,  [G]oto returns
  221.            to  the Lobby>  room and  will  continue to  do so  however  many
  222.            additional times  it is  executed.   For  non-experts, a  message
  223.            will be displayed stating that there are no more new messages.
  224.  
  225.            This  command is  the main  one you  and your  users will  employ
  226.            to  move around  the  system.    You should  make sure  that  you
  227.            and  they  understand its  use.     For an  example  of  improper
  228.            commands to  use for general  movement, see  [+] and [-],  coming
  229.            up.   It is  important that [G]oto (or  its big brother  .G(oto);
  230.            see Section  3.2.3 [Multi-key navigation  commands], page 47)  be
  231.            used so  that messages read  in rooms visited  are marked by  the
  232.            system as being  old for future visits to  the room.  If  this is
  233.            not done, users  will see the same messages over and  over again,
  234.            which is a waste of their time and system time.
  235.  
  236. [K]nown rooms list
  237.            This command will display  a list of all rooms known to  the user
  238.            executing it.    For the Sysop,  this list  will be all  existing
  239.            rooms.  For  a user with Aide or Co-Sysop status, this  list will
  240.            contain most existing  rooms, missing only invitation-only  rooms
  241.            to which  the Aide has  not been invited,  and those rooms  which
  242.            the Aide  or Co-Sysop has  used [Z]forget to forget  about.   For
  243.            normal users, this  list will just contain regular  public rooms,
  244.            and the  odd private rooms to which  they may have been  invited.
  245.            The  list is  broken  into two  groups,  the  first of  which  is
  246.            rooms containing new  messages, and the second of which  is rooms
  247.            containing no new messages.
  248.  
  249.            Private  rooms  are  marked with  with  an  asterisk  (`*'),  and
  250.            will  never show  up in  the  [K]nown list  unless the  user  has
  251.            access.   Forgotten rooms  will also never  show up again  unless
  252.  
  253.  
  254.  
  255. Chapter 3:  User Command Reference                                        28
  256.  
  257.  
  258.  
  259.  
  260.            the  user  unforgets them.     See Section  3.1.1.3  [Other  room
  261.            prompt commands],  page 29.   Finally,  if the  user is in  floor
  262.            mode, only  rooms on  the current floor  will be  displayed.   To
  263.            see  all  rooms,  use  the ;K(nown  floors)  floor  command  (see
  264.            Section  3.3  [Multi-key  User  Floor  Commands],  page  51),  or
  265.            the  .K(nown)  extended command  (see  Section  3.2.3  [Multi-key
  266.            navigation  commands],  page  47).    See  Section  3.2.4  [Other
  267.            multi-key commands], page  49, for the command to  view forgotten
  268.            rooms, .Z(list-forgotten).
  269.  
  270. [M]ail room direct
  271.            This  command is  a  short-cut method  of  doing a  .S(kip)  mail
  272.            command.  It takes the user directly to the  Mail> room, but does
  273.            not mark  any messages  in the  current room  as ``old''.    This
  274.            allows the user to  return to the room later and find it  just as
  275.            he/she left it before heading to Mail>.
  276.  
  277. [S]kip room
  278.            This command acts like  [G]oto, taking the user to the  next room
  279.            with new messages (or the Lobby room if  no new messages remain).
  280.            The difference  is that the messages  in the room being  departed
  281.            are not marked by  the system as being old, whether the  user has
  282.            read them  or not.   This command permits  users to return to  an
  283.            interesting discussion later, even during another  login hours or
  284.            days ahead,  and again read ``new''  messages to review what  was
  285.            said.
  286.  
  287.            Due to  the way that Fnordadel keeps  track of which messages  in
  288.            a room  are new  to a user  and which aren't,  users who  persist
  289.            in skipping  through rooms, signing  off, and coming back  later,
  290.            will find that  Fnordadel slowly starts marking skipped  messages
  291.            as being  old.  As  a general rule  of thumb, messages that  were
  292.            entered  after a  user's previous  call, but  before the  current
  293.            call, can be skipped  8 times, after which they will  become old.
  294.            Makes perfect sense, right?
  295.  
  296. [U]ngoto from this room
  297.            This  command  reverses  the  action  of  the  user's  last  room
  298.            navigation command, such as [G]oto or [S]kip,  or their multi-key
  299.            extended  siblings.    See  [B]ackup  in this  section  for  more
  300.            details.
  301.  
  302.            This command will  not be available if the Sysop  started citadel
  303.            with  the command-line  option `+backup'.    In such  cases,  the
  304.            [U]pload  command replaces  the  [U]ngoto command.    (In  either
  305.            case,  [B]ackup is  always available.)    This difference  causes
  306.            some confusion,  but was  implemented because  some people  would
  307.            rather have  the old [U]ngoto than a  quick way to upload  files.
  308.            You pick!
  309.  
  310. [+]next room
  311. [-]previous room
  312.            These commands send the user to the next or  previous room on the
  313.            system, *whether there  are new messages in it  or not*.   If the
  314.            user is  operating in floor mode,  these commands will not  leave
  315.  
  316.  
  317.  
  318. Chapter 3:  User Command Reference                                        29
  319.  
  320.  
  321.  
  322.  
  323.            the current floor, but will loop from the last  room on the floor
  324.            back to the first one, or vice versa, as appropriate.
  325.  
  326.            These commands  operate like  [S]kip, in  that they  do not  mark
  327.            any messages  as old in  the room  being left behind.   For  this
  328.            reason,  you may  wish to  delete these  commands  from the  list
  329.            of basic  commands produced  by hitting  `?'.   We have  observed
  330.            inexperienced users falling  into the trap of using them  for all
  331.            their room navigation,  rather than [G]oto.   Thus they read  the
  332.            same messages again and again each time they  call, wasting a lot
  333.            of time.
  334.  
  335. [>]next floor
  336. [<]previous floor
  337.            These commands  take the user  to the first room  of the next  or
  338.            previous floor on the system,  if the user is in floor mode.   If
  339.            the  user is  on the  last floor,  [>]next will  take him/her  to
  340.            the  first floor;  similarly,  the [<]previous  command from  the
  341.            first floor  will wrap  around to the  last floor.   No  messages
  342.            are flagged  as old in  the room  left behind.   See Section  2.3
  343.            [Floors], page 17, for a look at floors.
  344.  
  345.  
  346. 3.1.1.3  Other commands
  347.  
  348.    There remain  several single-key commands  that don't  fit the above  two
  349. command categories (message  processing and room navigation).   Don't forget
  350. about  them, though,  because  several are  essential  to everybody's  life,
  351. liberty and happiness.
  352.  
  353. [C]hat with Sysop
  354.            Users wanna  talk with the Sysop?   This is  the command.   Users
  355.            calling  for  a chat  will  either  be  told that  the  Sysop  is
  356.            being paged,  or  if he or  she has  turned the  chat option  off
  357.            (see  [C]hat toggle  in Section  5.1  [Sysop Special  Functions],
  358.            page 75),  they will  see a  message the contents  of which  live
  359.            in the  `nochat.blb' file in the  system's help file directory,
  360.            #helpdir.    If a  user has  Aide status,  the chat  flag can  be
  361.            over-ridden by  a special Aide command.   See Section 4.1.2  [The
  362.            .A(ide) command],  page 63.   If  the Sysop  does not answer  the
  363.            chat  call, a  `*' flag  is put  on the  status line  to let  him
  364.            know somebody wanted a  chat.  See Section 13.4.6  [Status line],
  365.            page 162.
  366.  
  367. [D]ownload file
  368.            This  is  a quickie  synonym  for the  extended  command  .R(ead)
  369.            <protocol>  F(ile),  which  sends  files to  a  user  by  his/her
  370.            default transfer protocol (see Section  3.5 [User Configuration],
  371.            page 56).   Fnordadel will prompt for  the names of the  files to
  372.            send.  Note  that this only works in directory rooms  that permit
  373.            user downloads, of  course.  See Section 3.2.2.2  [Multi-key file
  374.            reading  commands], page  43,  and Chapter  12 [File  Transfers],
  375.            page 147.
  376.  
  377.  
  378.  
  379. Chapter 3:  User Command Reference                                        30
  380.  
  381.  
  382.  
  383.  
  384. [H]elp     Okay, so  you've given up.   You're  tired of Fnordadel  assuming
  385.            you want  to be  treated like an  adult, and  instead want to  be
  386.            coddled in  a mammoth maze  of menu-driven madness!   Well,  this
  387.            command won't quite do  that, but it's close.  When you  hit `H',
  388.            you'll get  a brief listing  of basic,  single-key commands in  a
  389.            somewhat narrative  format.   This is simply  a text file  called
  390.            `dohelp.hlp' in #helpdir,  and like any of the `.hlp',  `.blb' or
  391.            `.mnu' files in that  directory, the Sysop may modify it  to suit
  392.            his or her tastes  using any text editor capable of  saving ASCII
  393.            text.
  394.  
  395.            Note that  you may  branch out  to other  help screens.   At  the
  396.            bottom of the [H]elp  list, you are told that you can  either hit
  397.            a carriage-return (which  will take you back to the  room prompt)
  398.            or  type one  of  several letters  to  take you  to  other,  more
  399.            detailed help  screens.   Most of the other  screens work in  the
  400.            same fashion.
  401.  
  402.            Note also that any help file may be [P]aused  just like any other
  403.            text being  output from  the system.   Finally,  we realise  that
  404.            you, as Sysop, have a mind like a steel  trap and won't ever need
  405.            any of this help stuff.  When we say  ``you'' above, we of course
  406.            mean other users.
  407.  
  408. [I]nformation on this room
  409.            This command allows  users to view an optional  information file,
  410.            which (presumably) tells  them something about the current  room,
  411.            followed by  the total and new numbers  of messages in the  room.
  412.            The info  file is formatted  exactly like  a normal message,  and
  413.            has as its header the file's date and  time of last modification,
  414.            and  the user  name of  the modifier.    See  Section 4.1.2  [The
  415.            .A(ide) command], page  63, for the Aide commands that  deal with
  416.            room information  files.  Room  information is optional for  each
  417.            room.  There is one information file per room,  and they all live
  418.            in #roomdir with the room data files.
  419.  
  420.            Aides and  Co-Sysops will  also be shown  some extra  information
  421.            about the room,  duplicating the details that the  [V]iew command
  422.            displays during room editing.
  423.  
  424. [L]ogin    This command is  how all users get  onto the system in the  first
  425.            place.   Depending on  the setting of  the #getname parameter  in
  426.            `ctdlcnfg.sys', when [L]ogin  is executed the system  will either
  427.            prompt for a password or for both a user name and a password.
  428.  
  429.            This second possibility  is popularly known as ``paranoid  mode''
  430.            and  is  used  by Sysops  who  wish  to  discourage  people  from
  431.            attempting to  guess passwords at  random.   It's much easier  to
  432.            guess a  password which  could get  you into  any user's  account
  433.            than it is to guess a password of a particular user's account.
  434.  
  435. [T]erminate
  436.            This command logs  users off the system  properly.  As with  many
  437.            commands, it  will ask for confirmation.   There are, of  course,
  438.            many ways for a user to leave the system improperly.   For a look
  439.            at them, see Section 13.2.1 [The call-log], page 152.
  440.  
  441.  
  442.  
  443. Chapter 3:  User Command Reference                                        31
  444.  
  445.  
  446.  
  447.  
  448. [U]pload file
  449.            This  is a  quickie  synonym for  the extended  command  .E(nter)
  450.            <protocol> F(ile),  which lets  a user upload  a file by  his/her
  451.            default transfer protocol (see Section  3.5 [User Configuration],
  452.            page 56).   Fnordadel will  prompt for the  name of the file  and
  453.            a short  description.   Naturally  this only  works in  directory
  454.            rooms that permit  user uploads.  See Section  3.2.1.2 [Multi-key
  455.            file entry commands],  page 36, and Chapter 12  [File Transfers],
  456.            page 147, for more information.
  457.  
  458.            If the user  executing the command is  not an expert, the  system
  459.            will  prompt for  a file  name; otherwise,  no  prompt is  given,
  460.            and the  system will wait for  the file name  to be typed on  the
  461.            command line.
  462.  
  463.            This command will  only be available if you started  citadel with
  464.            the command-line option  `+backup'.  If you didn't,  the [U]ngoto
  465.            command replaces [U]pload.   (In either case, [B]ackup  is always
  466.            available.)    This difference  causes  some confusion,  but  was
  467.            implemented because some  people would rather have [U]ngoto  than
  468.            a quick way to upload files.  You be the judge.
  469.  
  470. [Z]Forget this room
  471.            If users  find that the conversation  in a particular room  fills
  472.            them with  ennui, they  can __forget__ the  room simply by  using
  473.            this  command at  the  room's main  prompt.    The room  will  no
  474.            longer show  up in their  list of known rooms,  and they will  no
  475.            longer be taken  to it by any single-key navigation  command, for
  476.            example [G]oto.   In this manner, users may tailor  the sometimes
  477.            vast numbers  of different discussions on  a Fnordadel down to  a
  478.            smaller number that actually interest them.
  479.  
  480.            In  order to  remember,  or  __unforget__,  this room  later  on,
  481.            if  this  is  ever  desired,  users  can  execute  the  multi-key
  482.            command .G(oto) roomname,  discussed in Section 3.2.3  [Multi-key
  483.            navigation commands],  page 47,  where roomname  is the full  and
  484.            complete name  of the room  to which  they wish restored  access.
  485.            This works  fine for both normal  public rooms and hidden  rooms,
  486.            but  if a  user forgets  an  invitation-only private  room,  this
  487.            method will  not regain  access to that  room.   See Section  2.2
  488.            [Rooms], page 15.
  489.  
  490.            Note:  The Sysop can not forget rooms.
  491.  
  492. [.] prefixes multi-key commands
  493. [;] prefixes floor commands
  494.            We'll  get  to these  in  the  next main  sections,  Section  3.2
  495.            [Multi-key User  Commands], page 32,  and Section 3.3  [Multi-key
  496.            User Floor Commands], page 51.
  497.  
  498. [!] prefixes door commands
  499.            See Chapter 9 [Doors], page 126, for the complete scoop.
  500.  
  501.  
  502.  
  503. Chapter 3:  User Command Reference                                        32
  504.  
  505.  
  506.  
  507.  
  508. 3.1.2  Pseudo commands
  509.  
  510.    There are  four single-key pseudo-commands  that users  will see and  use
  511. all the  time.   They control  output from  Fnordadel whenever something  is
  512. being displayed.  The commands are:
  513.  
  514. [J]ump     This control  command causes the system to  jump to the start  of
  515.            the next  paragraph in whatever  is being displayed.   This is  a
  516.            good way  to skip ahead  through long-winded  messages to find  a
  517.            part later in the text.
  518.  
  519. [P]ause    This control  command is used  all the time.   It pauses  output,
  520.            and waits  of the user  to press another  key to restart  things.
  521.            Certain keys  pressed while  output is paused  allow for  message
  522.            deletion, movement,  or journalling.   See Section 3.7  [Deleting
  523.            Messages],  page 60,  Section  4.1.4 [Aide  message deletion  and
  524.            movement],  page 68,  and  Section 4.2.2  [Message  journalling],
  525.            page 72.
  526.  
  527.            The `^S' (Control-S) key will do the same thing as [P]ause.
  528.  
  529. [N]ext     This command  will cause the system to  abort the display of  the
  530.            current item  and start  the next  one.   The  only situation  in
  531.            which this  command makes sense  is while  reading messages in  a
  532.            room.
  533.  
  534.            The `^O' (Control-O) key will do the same thing as [N]ext.
  535.  
  536. [S]top     This command  will halt  output from  the system  and return  the
  537.            user  to a  command prompt.    In some  cases  when Fnordadel  is
  538.            displaying  important information,  the  [S]top command  will  be
  539.            ignored to ensure the user sees what is being sent.
  540.  
  541.  
  542.  
  543. 3.2  Multi-key User Commands
  544.  
  545.    The multi-key commands seem endless, but there really is  a finite number
  546. of them.   It's  the options that  are endless.   Before explaining in  more
  547. detail, the best piece of general advice is ``don't  be afraid to experiment
  548. with  these commands''.    You  can't hurt  Fnordadel  much, and  you'll  be
  549. getting hands-on training  to boot.   Besides, you should be making  backups
  550. anyway.
  551.  
  552.    Multi-key commands  start with  a mode  character.   For normal  extended
  553. commands, the  character to  use is `.'.   Executing  the `.?' command  will
  554. produce a list of multi-key commands something like the following:
  555.  
  556.       .B(ackup) roomname
  557.  
  558.       .E(nter) ?
  559.  
  560.       .E(nter) M(essage)
  561.       .E(nter) N(et-message)
  562.       .E(nter) L(ocal-message)
  563.  
  564.  
  565.  
  566. Chapter 3:  User Command Reference                                        33
  567.  
  568.  
  569.  
  570.  
  571.       .E(nter) [XYWV] [MNL]
  572.                X(modem)
  573.                Y(modem)
  574.                W(xmodem)
  575.                V(anilla)
  576.  
  577.       .E(nter) H(eld-message)
  578.  
  579.       .E(nter) F(ile) file.ext
  580.  
  581.       .E(nter) [XYWV] F(ile) file.ext
  582.                X(modem)
  583.                Y(modem)
  584.                W(xmodem)
  585.                V(anilla)
  586.  
  587.       .E(nter) C(onfiguration)
  588.       .E(nter) O(ption) configoption
  589.       .E(nter) P(assword)
  590.       .E(nter) R(oom)
  591.  
  592.       .G(oto) ?
  593.       .G(oto) roomname
  594.  
  595.       .H(elp) ?
  596.       .H(elp) topic
  597.  
  598.       .K(nown) ?
  599.       .K(nown) [DHNP] <CR>
  600.       .K(nown) [DHNP] R(ooms) roomname
  601.                D(irectory rooms)
  602.                H(idden rooms)
  603.                N(etwork rooms)
  604.                P(ublic rooms)
  605.  
  606.       .R(ead) ?
  607.  
  608.       .R(ead) A(ll)
  609.       .R(ead) G(lobal)
  610.       .R(ead) N(ew)
  611.       .R(ead) O(ld)
  612.       .R(ead) R(everse)
  613.  
  614.       .R(ead) [MUL+-~=XYWVC] [AGNOR]
  615.               M(ore)
  616.               U(ser) username
  617.               L(ocal)
  618.               + (After) date
  619.               - (Before) date
  620.               ~(not)
  621.               =(headers)
  622.               X(modem)
  623.               Y(modem)
  624.               W(xmodem)
  625.               V(anilla)
  626.               C(apture)
  627.  
  628.  
  629.  
  630. Chapter 3:  User Command Reference                                        34
  631.  
  632.  
  633.  
  634.  
  635.  
  636.       .R(ead) D(irectory) *.doc
  637.       .R(ead) E(xtended directory) *.foo
  638.  
  639.       .R(ead) [M+-XYWVC] [DE] files.ext
  640.               M(ore)
  641.               + (After) date
  642.               - (Before) date
  643.               X(modem)
  644.               Y(modem)
  645.               W(xmodem)
  646.               V(anilla)
  647.               C(apture)
  648.  
  649.       .R(ead) F(ile) foobar.txt
  650.  
  651.       .R(ead) [+-XYWVCT] [FB] files.ext
  652.               + (After) date
  653.               - (Before) date
  654.               X(modem)
  655.               Y(modem)
  656.               W(xmodem)
  657.               V(anilla)
  658.               C(apture)
  659.               T(ext)
  660.  
  661.       .R(ead) H(eader) foo.arc
  662.       .R(ead) I(nvited)
  663.       .R(ead) S(tatus)
  664.       .R(ead) # (message number)
  665.  
  666.       .S(kip) ?
  667.       .S(kip) roomname
  668.  
  669.       .T(erminate) ?
  670.       .T(erminate) S(tay)
  671.       .T(erminate) Q(uit-also)
  672.       .T(erminate) P(unt)
  673.       .T(erminate) Y(es)
  674.  
  675.       .U(ngoto) roomname
  676.       or
  677.       .U(pload) file.ext
  678.  
  679.       .Z (list forgotten)
  680.  
  681.    The above  list of commands  will now  be dealt with  in similar  logical
  682. groupings  as used  in  the single-key  commands section.    (Due  to  their
  683. respective size,  we will split the  `enter' and `read' commands into  their
  684. own sections.)
  685.  
  686.    Note:  There  are some additional  extended commands that are  documented
  687. in later chapters, as they are not accessible by normal  users.  Also, there
  688. are some  extended commands that  are not documented at  all, for a  variety
  689. of reasons  other than  because we  forgot.   In  the case  of these  latter
  690. commands, they  are usually identical to  existing single-key commands,  and
  691.  
  692.  
  693.  
  694. Chapter 3:  User Command Reference                                        35
  695.  
  696.  
  697.  
  698.  
  699. we  don't wish  to give  people an  excuse to  be less  efficient than  they
  700. should be.   Also, such commands might be  removed at any time, as  the whim
  701. takes us, so don't build your life around them.
  702.  
  703.  
  704. 3.2.1  Enter commands
  705.  
  706.    Just  as  with single-key  commands,  there  are  extended  commands  for
  707. entering information to  the system.   However, much greater flexibility  is
  708. possible with  the extended .E(nter)  command.   One reason  is that it  can
  709. be  used to  enter a  variety of  things,  including messages,  files,  user
  710. configuration settings,  and more.   Another  reason is  that many of  these
  711. things can be entered either interactively or via a transfer protocol.
  712.  
  713.  
  714.  
  715. 3.2.1.1  Entering messages
  716.  
  717.    There are several  ways to enter messages,  based on the type of  message
  718. to be entered and how it is to be entered.
  719.  
  720. .E(nter) M(essage)
  721.            This  is  the  basic  multi-key  message  entry  command.     See
  722.            Section 3.4  [The Message Editor],  page 52,  for details on  the
  723.            message editor.   The  command allows normal  entry of a  message
  724.            in a room.   It is  identical to the single-key [E]nter  command.
  725.            The  system may  make the  message a  networked message,  if  the
  726.            right combination of user net privileges and  room status exists;
  727.            otherwise, the message will be non-networked.
  728.  
  729. .E(nter) N(et-message)
  730.            This form of the  command allows a user to attempt  to explicitly
  731.            enter a  __networked__ message.   There  are several reasons  why
  732.            the  system may  not permit  this.    Firstly,  the current  room
  733.            might not be  a shared room.   Network messages can't be  used in
  734.            non-networked rooms.    (Note that  Mail> is considered  to be  a
  735.            networked room  even though the  Sysop can't explicitly share  it
  736.            with any other nodes.)
  737.  
  738.            Secondly, the  user may  not have the  requisite privileges in  a
  739.            given  room to  enter a  networked  message.   In  normal  shared
  740.            rooms,  the  user must  have  been  given network  privileges  by
  741.            the  Sysop; see  Section  5.2 [User  Status Commands],  page  80.
  742.            (This can  be done automatically  using the #allnet parameter  in
  743.            `ctdlcnfg.sys'; see `ctdlcnfg.doc' for details.)
  744.  
  745.            Finally,   in  the  Mail>  room,   the  user  must  have   enough
  746.            long-distance credits (supplied  by the Sysop, of course)  if the
  747.            destination  system is  designated  long-distance by  the  Sysop.
  748.            Normally, l-d credits are not used; however,  to control l-d mail
  749.            traffic  the Sysop  may define  l-d net  costs in  `ctdlcnfg.sys'
  750.            (see  `ctdlcnfg.doc',  parameters #ld-cost  and  #hub-cost),  and
  751.            assign credits to users (see Section 5.2  [User Status Commands],
  752.            page 80).
  753.  
  754.  
  755.  
  756. Chapter 3:  User Command Reference                                        36
  757.  
  758.  
  759.  
  760.  
  761. .E(nter) L(ocal-message)
  762.            The .E(nter)  L(ocal-message) command  allows a user  to force  a
  763.            message  to be  __local__, i.e.    non-networked,  in rooms  that
  764.            the Sysop  has set up  to automatically ``nettify'' all  messages
  765.            entered.   Such auto-net rooms are  convenient, but now and  then
  766.            users may  wish to post comments that  should not be sent  across
  767.            the  net.    This is  especially  true of  users who  have  Aide,
  768.            Co-Sysop or  Sysop status, since  Fnordadel treats all  networked
  769.            rooms as if they were auto-netted, for these classes of users.
  770.  
  771. .E(nter) [XYWV] [MNL]
  772.            This class of  commands gives users the ability to  compose their
  773.            messages on their own systems using any  editor or word processor
  774.            that can save text to an ASCII file, and  then upload the results
  775.            to  Fnordadel as  a message.    When Fnordadel  has received  the
  776.            entire transmission, it  places the user into the  message editor
  777.            to allow for any needed touch-up work.
  778.  
  779.            The  individual  command  types  (M(essage),   N(et-message)  and
  780.            L(ocal-message)) are subject  to the same restrictions  described
  781.            in Section 3.2.1.1  [Multi-key message entry commands],  page 35.
  782.            Here are the currently available transfer protocols:
  783.  
  784.  
  785.            X(modem)
  786.            Y(modem)
  787.            W(xmodem)
  788.            V(anilla)  The first  two protocols  will be  used almost  exclu-
  789.                       sively.    For details  about  the various  protocols,
  790.                       see Section 12.2 [File Transfer Protocols],  page 147.
  791.                       Note that Wxmodem  may not be available, since  we may
  792.                       have disabled  the code we  inherited due to  problems
  793.                       we haven't had inclination to fix.
  794.  
  795. .E(nter) H(eld-message)
  796.            This command  allows a user  to continue  editing a message  that
  797.            was previously  saved in the  held buffer  by the [H]old  command
  798.            in  the message  editor (see  Section 3.4  [The Message  Editor],
  799.            page  52).   A  message  held in  one room  may  be continued  in
  800.            another,  reheld and  restarted later,  and  so on.    The  Sysop
  801.            can set the `ctdlcnfg.sys' #keephold parameter  to make Fnordadel
  802.            preserve users'  held messages between login  sessions.  If  this
  803.            is done,  held messages  are stored  in files in  the directory
  804.            #holddir specified in `ctdlcnfg.sys'.   A user may have  only one
  805.            held message at  a time.   Users may also continue held  messages
  806.            from the `more' prompt (see Section 3.6 [More Mode], page 59).
  807.  
  808.  
  809. 3.2.1.2  Entering files
  810.  
  811.    There are fewer .E(nter) commands related to files  than messages, mainly
  812. because the  system does not distinguish  between different types of  files.
  813. A file is a file is a file.
  814.  
  815.  
  816.  
  817. Chapter 3:  User Command Reference                                        37
  818.  
  819.  
  820.  
  821.  
  822. .E(nter) F(ile) file.ext
  823.            This is  the basic file  uploading command,  and allows users  to
  824.            transfer any  sort of file  to your  system, providing that  they
  825.            have access to a  directory room that permits user uploads.   The
  826.            transfer protocol  used defaults  to the  user's defined  default
  827.            protocol (see Section  3.5 [User Configuration], page 56  for the
  828.            command to  set the  default).   The system  will prompt for  the
  829.            name  of the  file  to upload,  and  a short  description.    See
  830.            Chapter 12 [File Transfers], page 147, for more.
  831.  
  832.            As usual,  if the user  executing the command  is not an  expert,
  833.            the system will prompt  for a file name; otherwise, no  prompt is
  834.            given, and the system will wait for the file  name to be typed on
  835.            the command line.
  836.  
  837. .E(nter) [XYWV] F(ile) file.ext
  838.            This  modification  of  the above  command  allows  the  user  to
  839.            specify a  file transfer  protocol to  use in  uploading a  file.
  840.            As always,  if the user executing  the command is not an  expert,
  841.            the system will prompt  for a file name; otherwise, no  prompt is
  842.            given, and the system will wait for the file  name to be typed on
  843.            the command line.  Here are the supported protocols:
  844.  
  845.  
  846.            X(modem)
  847.            Y(modem)
  848.            W(xmodem)
  849.            V(anilla)  The first  two protocols  will be  used almost  exclu-
  850.                       sively.    For details  about  the various  protocols,
  851.                       see Section 12.2 [File Transfer Protocols],  page 147.
  852.                       For other  details on file  transfers, see Chapter  12
  853.                       [File Transfers],  page 147.    Note that Wxmodem  may
  854.                       not  be available,  since  we  may have  disabled  the
  855.                       code  we inherited  due  to  problems we  haven't  had
  856.                       inclination to fix.
  857.  
  858.  
  859. 3.2.1.3  Entering other information
  860.  
  861.    There  are  several  .E(nter) commands  that  have  nothing  to  do  with
  862. messages  or files.    However,  they  involve  sending information  to  the
  863. system, so the Citadel Gods decreed that they be .E(nter) commands.
  864.  
  865. .E(nter) ?
  866.            This command simply displays one of Fnordadel's  many help files,
  867.            which contains a brief list of the many .E(nter) options.
  868.  
  869. .E(nter) C(onfiguration)
  870.            This command  calls up a  menu that allows a  user to change  the
  871.            configuration data that  he/she supplied when first logging  onto
  872.            the system.  All user options may be altered  in this menu except
  873.            for name  and password.   Note that some  of the options in  this
  874.            menu are not settable  by the user when he/she first logs  in, if
  875.            the ``Are you an expert?''   question is answered with `no'.   In
  876.            such cases, some  of the more esoteric options are  given default
  877.  
  878.  
  879.  
  880. Chapter 3:  User Command Reference                                        38
  881.  
  882.  
  883.  
  884.  
  885.            values  by the  system, and  then left  well  enough alone  until
  886.            the user stumbles  across them in `.EC'.   See Section 3.5  [User
  887.            Configuration], page 56.
  888.  
  889. .E(nter) O(ption) configoption
  890.            This command  is a  short-cut way  for a  user to  change one  of
  891.            his/her  configuration options.    It  avoids going  through  the
  892.            menu in the  .E(nter) C(onfiguration) command.   The configoption
  893.            option can be any  command available in the `.EC' menu,  and will
  894.            produce the same prompt and take the same answers.
  895.  
  896. .E(nter) P(assword)
  897.            This  command allows  a user  to  change his/her  password.    We
  898.            recommend that all  users periodically change their passwords  to
  899.            guard against so-called ``hackers''.
  900.  
  901. .E(nter) R(oom)
  902.            This command allows  a user to create  a new room on the  system.
  903.            A parameter in  `ctdlcnfg.sys' (see #all-room in  `ctdlcnfg.doc')
  904.            permits the Sysop to allow this command to be  used either by all
  905.            users,  or only by  users with  Aide or  Co-Sysop status.   If  a
  906.            normal user executes this command, he/she will  be able to create
  907.            only  normal rooms  and hidden  rooms.   Invitation-only  status,
  908.            directory status, and all other attributes can only  be set by an
  909.            Aide or Co-Sysop.  Or the Sysop itself, of course.
  910.  
  911.            If  there  is no  space  for  the  new room  (see  the  #maxrooms
  912.            parameter  in `ctdlcnfg.doc'),  it will  look  for any  temporary
  913.            non-shared rooms  that are  currently empty.   If  one such  room
  914.            is  found, Fnordadel  will  purge it  to make  way  for the  room
  915.            being created.   If no killable rooms are found, the  system will
  916.            display a message to  the effect that no space is  available, and
  917.            abort the operation.
  918.  
  919.            This command  also gives  users a  chance to  create the  initial
  920.            room info file  using the message editor.   The contents of  this
  921.            file are shown  to users when they use  the [I]nfo command.   See
  922.            Section  3.1.1.3 [Other  room prompt  commands], page  29.    The
  923.            Sysop  can  define a  `ctdlcnfg.sys'  parameter  called  #infook,
  924.            which controls whether all users or only  Aides and Co-Sysops are
  925.            allowed to create info files.   Another parameter called #infomax
  926.            controls the maximum size of info files.
  927.  
  928.  
  929. 3.2.2  Read commands
  930.  
  931.    As  with the  .E(nter)  command detailed  above,  there  is also  a  very
  932. flexible  .R(ead) command.    It permits  users to  read messages,  download
  933. files, and display other kinds of information, with an  even larger array of
  934. options than available with .E(nter).
  935.  
  936.  
  937.  
  938. Chapter 3:  User Command Reference                                        39
  939.  
  940.  
  941.  
  942.  
  943. 3.2.2.1  Reading messages
  944.  
  945.    Since Citadels  were originally  highly  discussion-oriented, the  oldest
  946. and most used  .R(ead) commands deal with messages.   A large  collection of
  947. options allows users to read messages in strange and wonderful ways.
  948.  
  949. .R(ead) A(ll)
  950.            The  .R(ead)  A(ll)  command  is  the  same   as  the  single-key
  951.            [F]orward  command, and  demonstrates one  of  the few  instances
  952.            in  which the  single-key  commands  aren't consistent  with  the
  953.            extended commands.   `.RF' is for the .R(ead) F(ile)  command, so
  954.            `A' for  A(ll) was used instead.   Oh,  by the way, this  command
  955.            displays  all messages  in the  current room,  starting with  the
  956.            oldest.
  957.  
  958. .R(ead) G(lobal)
  959.            The  .R(ead)  G(lobal)   command  does  not  have  a   single-key
  960.            equivalent.   This command will cause  the system to display  all
  961.            new messages in  all rooms on the  system, returning the user  to
  962.            the Lobby> room when done.
  963.  
  964.            This  command is  not  frequently  used,  but can  be  beneficial
  965.            for  the  odd  person who  likes  to  peruse  messages  at  great
  966.            length.      Using  the   message  downloading  capabilities   of
  967.            Fnordadel  (described  in  Section  3.2.2.1   [Multi-key  message
  968.            reading commands], page  39, and in Chapter 12  [File Transfers],
  969.            page 147), in conjunction with G(lobal) allows  a user to quickly
  970.            transfer all new  messages to his/her own system, where  they can
  971.            be read at leisure without monopolizing the BBS.
  972.  
  973.            Of course,  lurkers (users  who always read  but never post)  can
  974.            use  the G(lobal)  command,  too,  since it  allows them  to  see
  975.            everything  with a  minimum of  key-strokes expended.    We  tend
  976.            to discourage such  activity whenever possible, on  philosophical
  977.            grounds.
  978.  
  979. .R(ead) N(ew)
  980.            The  .R(ead) N(ew)  command  is the  extended equivalent  of  the
  981.            single-key [N]ew  command, and displays  all new messages in  the
  982.            room, from oldest to newest.
  983.  
  984. .R(ead) O(ld)
  985.            The .R(ead) O(ld)  command does the same as the  single-key [O]ld
  986.            command,  and  displays only  old,  previously-read  messages  in
  987.            reverse order, from newest to oldest.
  988.  
  989. .R(ead) R(everse)
  990.            The  .R(ead) R(everse)  command  acts  just like  the  single-key
  991.            [R]everse  command, and  displays  all messages  in the  room  in
  992.            reverse order, from newest to oldest.
  993.  
  994. .R(ead) [MUL+-~=XYWVC] [AGNOR]
  995.            The  previous five  basic message-oriented  .R(ead) commands  can
  996.            be supplemented with  various options to make life  easier and/or
  997.            more  interesting.    These options  can  frequently be  used  in
  998.            conjunction with  each other to  produce compounded effects  that
  999.  
  1000.  
  1001.  
  1002. Chapter 3:  User Command Reference                                        40
  1003.  
  1004.  
  1005.  
  1006.  
  1007.            literally  boggle  the imagination.     Well,  our  imaginations,
  1008.            anyway.  Here, then, are the currently available modifiers:
  1009.  
  1010.            M(ore)     The M(ore)  modifier is  a relatively recent  addition
  1011.                       to Citadel,  which historically has been anti-menu  in
  1012.                       philosophy.  We guess it's true that  one can have too
  1013.                       much of a good thing, even if it's philosophy.
  1014.  
  1015.                       What  M(ore) does  for  users  is cause  Fnordadel  to
  1016.                       display messages  in `more' mode.   The system  pauses
  1017.                       after each  message displayed  by any  of the  reading
  1018.                       commands,  to permit the  digestion of  what was  just
  1019.                       read,  and/or  the  entry of  a  few  other  commands,
  1020.                       without breaking out of the  message-reading sequence.
  1021.                       Hitting `?' at  the `more cmd:' prompt  should produce
  1022.                       a list that looks like this:
  1023.  
  1024.                             [A]- this message again
  1025.                             [B]ackup to previous message
  1026.                             [D]elete this message
  1027.                             [H]- continue held message
  1028.                             [N]ext message (also <SPACE>, <CR>)
  1029.                             [R]eply to this message
  1030.                             e[X]it message reader (also [Q]uit, [S]top)
  1031.  
  1032.                       For  details on  this option,  see  Section 3.6  [More
  1033.                       Mode], page 59.
  1034.  
  1035.            U(ser) username
  1036.                       This .R(ead) modifier  allows for the reading  of just
  1037.                       those  messages from  a  specific user.    If  in  the
  1038.                       Mail> room,  messages both from  and to the  specified
  1039.                       user will  be shown.   After  all modifiers have  been
  1040.                       supplied  and  one  of  the  message-reading  commands
  1041.                       (`[AGNOR]') is chosen,  Fnordadel will ask for  a user
  1042.                       name.
  1043.  
  1044.                       Entering a  full or partial  user name here will  then
  1045.                       limit  message display  as  described.   If  the  name
  1046.                       given does not match the author (or  recipient, in the
  1047.                       case of the  Mail> room) of any message,  nothing will
  1048.                       be displayed.
  1049.  
  1050.                       This   modifier  may   be   inverted  when   used   in
  1051.                       conjunction with the  `~' modifier; see Section  3.2.2
  1052.                       [Multi-key read  commands], page 38.   In such  cases,
  1053.                       it  will  show  all messages  *not*  to  or  from  the
  1054.                       specified user.
  1055.  
  1056.            L(ocal)    This option is usable only in a  shared room (remember
  1057.                       that  Mail> is  shared).    It limits  messages  being
  1058.                       displayed to those  that were entered on  this system,
  1059.                       ignoring all messages  that may have come in  over the
  1060.                       network from other systems.
  1061.  
  1062.  
  1063.  
  1064. Chapter 3:  User Command Reference                                        41
  1065.  
  1066.  
  1067.  
  1068.  
  1069.                       This   modifier  may   be   inverted  when   used   in
  1070.                       conjunction with the  `~' modifier; see Section  3.2.2
  1071.                       [Multi-key read  commands], page 38.   In such  cases,
  1072.                       it will  show all messages  *not* originating on  this
  1073.                       system  (i.e.     all those  that  came  in  over  the
  1074.                       network).
  1075.  
  1076.            + (After) date
  1077.                       This option, and the following one, allow  the user to
  1078.                       qualify the  system's message  display by giving  date
  1079.                       boundaries.   With the + (After) option, the  user may
  1080.                       specify  that messages  must be  after  a given  date,
  1081.                       which will  be prompted  for after  all other  options
  1082.                       are entered and a message-reading  command (`[AGNOR]')
  1083.                       is given.
  1084.  
  1085.                       The  format of  the  date is  the  same as  all  dates
  1086.                       displayed by Fnordadel,  `YYMMMDD', where `YY' is  the
  1087.                       year, `MMM' is the English abbreviation  of the month,
  1088.                       and `DD' is the day.  Example:   `90Oct05'.  The year,
  1089.                       `YY', may  be ommitted, and  the current year will  be
  1090.                       assumed.   If the  entire date  is omitted (i.e.,  the
  1091.                       user just hits `<CR>' in response to  the prompt), the
  1092.                       system will use the date and time of last call.
  1093.  
  1094.                       + (After)  and - (Before) can be  used together.   See
  1095.                       the next section for details.
  1096.  
  1097.            - (Before) date
  1098.                       This option  is the reverse of  the above option,  and
  1099.                       specifies that all messages be prior to  a given date.
  1100.                       The year can be omitted, to indicate  the current year
  1101.                       should be used.  If the entire  date is omitted (i.e.,
  1102.                       the user just hits `<CR>' in response  to the prompt),
  1103.                       the system will use the date and time of last call.
  1104.  
  1105.                       +  (After) and  - (Before)  can be  used together,  if
  1106.                       desired,  to specify  a range  of dates.    The  range
  1107.                       is  inclusive.    So,  for example,  entering  `.R+-A'
  1108.                       and  answering `91Jan10'  for the  ``after'' date  and
  1109.                       `91Jan15'  for  the ``before''  date,  would  net  you
  1110.                       all  messages entered  on  or after  91Jan10,  and  on
  1111.                       or before  91Jan15.   The system  does no checking  to
  1112.                       ensure  that the  two  dates  form a  sensible  range.
  1113.                       Thus,  if you  reversed  the two  dates in  the  above
  1114.                       example,  the system would  search long  and hard  and
  1115.                       find nothing.
  1116.  
  1117.            ~(not)     This  modifier works  on certain  other modifiers  and
  1118.                       commands,  and allows  the user  to  negate or  invert
  1119.                       the normal meaning  of the resulting command.   ~(not)
  1120.                       currently  has  an effect  when  followed  by  M(ore),
  1121.                       U(user),  L(ocal)  or   I(nvited)  (with  the  .R(ead)
  1122.                       I(nvited) command,  described later).   When  followed
  1123.                       by  itself, it  does what  you'd expect,  and  negates
  1124.                       itself.  Useful, eh wot?
  1125.  
  1126.  
  1127.  
  1128. Chapter 3:  User Command Reference                                        42
  1129.  
  1130.  
  1131.  
  1132.  
  1133.                       The  ~(not) M(ore)  sequence is  useful in  Mail>,  or
  1134.                       if a  user has  the `more' prompt  enabled by  default
  1135.                       in  his/her configuration,  and  wishes to  read  some
  1136.                       messages  without using  `more'.    The ~(not)  U(ser)
  1137.                       sequence will  display all messages *except* those  to
  1138.                       or  from  the specified  user.    The  ~(not)  L(ocal)
  1139.                       sequence, usable only  in a shared room,  will display
  1140.                       only messages that  did not originate on  this system.
  1141.                       The  ~(not)  I(nvited)  sequence,  usable  only  in  a
  1142.                       private  room, will  list all  users who  do not  have
  1143.                       access to the room.
  1144.  
  1145.            =(headers)
  1146.                       This modifier is similar in purpose  to the single-key
  1147.                       [=]new  headers  command.     It  tells  Fnordadel  to
  1148.                       display  only the  headers of  the  messages that  are
  1149.                       shown.    Users with  Aide, Co-Sysop  or Sysop  status
  1150.                       will see  somewhat different  header information  than
  1151.                       will  regular users.    For  a full  description,  see
  1152.                       Section  3.1.1.1  [Entering  and   reading  messages],
  1153.                       page 25.
  1154.  
  1155.            X(modem)
  1156.            Y(modem)
  1157.            W(xmodem)
  1158.            V(anilla)  The  above four  options  shouldn't be  surprising  in
  1159.                       what  they mean.    They permit  users  to download  a
  1160.                       selection of  messages (optionally qualified by  other
  1161.                       .R(ead)  modifiers)  using a  standard  file  transfer
  1162.                       protocol.     The resulting  text  file  can  be  read
  1163.                       or  edited on  the user's  own system.    For  details
  1164.                       about the  various protocols,  see Section 12.2  [File
  1165.                       Transfer  Protocols], page  147.    Note that  Wxmodem
  1166.                       may not be  available, since we may have  disabled the
  1167.                       code  we inherited  due  to  problems we  haven't  had
  1168.                       inclination to fix.
  1169.  
  1170.            C(apture)  This  .R(ead)  option permits  users  to  capture  the
  1171.                       selected messages  into the  held buffer, rather  than
  1172.                       display  them  on  the  screen.      This  feature  is
  1173.                       generally used  to capture a  single message into  the
  1174.                       buffer, for  purposes of quoting  at some length  from
  1175.                       it.
  1176.  
  1177. .R(ead) # (message number)
  1178.            This command will  probably be rarely used  by anybody.  What  it
  1179.            does is  allow a user to  read a specific  message in a room,  by
  1180.            supplying  its message  ID number.    Message ID  numbers can  be
  1181.            obtained by  Co-Sysops using  `.R=', described  in this  section.
  1182.            Normal users can only get message ID  numbers in anonymous rooms,
  1183.            where they are a normal part of each message header.
  1184.  
  1185.  
  1186.  
  1187. Chapter 3:  User Command Reference                                        43
  1188.  
  1189.  
  1190.  
  1191.  
  1192. 3.2.2.2  Reading files
  1193.  
  1194.    As  time   went  by,   and  more   people  started   using  Citadels   as
  1195. general-purpose BBSes, the  need for file-transfer capabilities grew.   Thus
  1196. a number of  file reading commands were  added (and continue to be  expanded
  1197. upon), which more or less parallel appropriate message reading options.
  1198.  
  1199. .R(ead) D(irectory) *.doc
  1200.            This command enables users to get a list of  files in a directory
  1201.            room.   The list is sorted  alphabetically by file name, and  the
  1202.            size of each  file is listed.   After all files have  been shown,
  1203.            the  total number  of  bytes taken  by  them will  be  displayed.
  1204.            Users on  the system console will also  be shown the total  bytes
  1205.            free in  the room, and  what directory the  room is linked to  on
  1206.            the storage device.
  1207.  
  1208.            A single  file name or  mask containing wild-card characters  may
  1209.            be  supplied with  the  command.    The  system will  search  the
  1210.            directory  for all  matches to  the value  entered, if  any,  and
  1211.            display them.   The normal wild-cards (`*' to match  any sequence
  1212.            of characters,  and  `?' to match  any single  character) may  be
  1213.            used.   If the user executing the  command is not an expert,  the
  1214.            system will  prompt for the  file name;  otherwise, no prompt  is
  1215.            given, and the system will wait for the file  name to be typed on
  1216.            the command line.
  1217.  
  1218. .R(ead) E(xtended directory) *.foo
  1219.            This command  is like  the one  above, with  the difference  that
  1220.            a  description will  be  displayed for  each  file, if  there  is
  1221.            one  defined.   The  system will  automatically  request a  short
  1222.            description from  users who upload  files to  the system, but  if
  1223.            files are put into the room in any other  fashion, the Sysop will
  1224.            need to manually create descriptions for them  in the directory's
  1225.            .fdr file.  See Section 12.1 [File Directories], page 147.
  1226.  
  1227.            Again, a  single file name or  mask containing wild-cards may  be
  1228.            supplied with the command.  The system  will search the directory
  1229.            for all matches to  the value entered, if any, and  display them.
  1230.            The normal wild-cards  (`*' to match any sequence  of characters,
  1231.            and `?' to match any single character) may be used.   If the user
  1232.            executing the  command is not an  expert, the system will  prompt
  1233.            for the file name; otherwise, no prompt is  given, and the system
  1234.            will wait for the file name to be typed on the command line.
  1235.  
  1236. .R(ead) [M+-XYWVC] [DE] files.ext
  1237.            The  directory commands  described  above  have some  options  to
  1238.            improve their usefulness.   As above,  if the user executing  the
  1239.            command is  not an expert,  the system will  prompt for the  file
  1240.            name;  otherwise, no prompt  is given, and  the system will  wait
  1241.            for the file name to be typed on the command line.
  1242.  
  1243.            M(ore)     This  facility,  a  recent  addition,  gives  to  file
  1244.                       operations some of the same  functionality that M(ore)
  1245.                       has  given to  message operations  in the  past.    We
  1246.                       call  the  use  of  M(ore)  with  file  transfers  the
  1247.                       __file browser__,  since it lets users browse  through
  1248.  
  1249.  
  1250.  
  1251. Chapter 3:  User Command Reference                                        44
  1252.  
  1253.  
  1254.  
  1255.  
  1256.                       directories of  files, one at  a time, and do  various
  1257.                       things with  them.   Hitting  `?' at  the Browse  cmd:
  1258.                       prompt should display a list like this:
  1259.  
  1260.                             [A]- view this entry again
  1261.                             [B]ackup to previous file
  1262.                             [C]lear batch list
  1263.                             [H]eader listing of ARC, LZH, ZOO file
  1264.                             [M]ark this file for batch transfer
  1265.                             [N]ext file (also <SPACE>, <CR>)
  1266.                             [U]nmark a file
  1267.                             [V]iew batch list
  1268.                             e[X]it the browser (also [Q]uit, [S]top)
  1269.  
  1270.                       See Section 12.3  [The File Browser], page 148,  for a
  1271.                       full treatment.
  1272.  
  1273.            + (After) date
  1274.                       This option  will cause the  system to request a  date
  1275.                       from the  user.   Only  those files  with date  stamps
  1276.                       after  the  given  date  will be  shown.     The  date
  1277.                       format is the  same as used by the rest  of Fnordadel,
  1278.                       `YYMMMDD'.   The  year, `YY',  may be ommitted.    See
  1279.                       Section 3.2.2.1 [Multi-key message  reading commands],
  1280.                       page 39, for other details.
  1281.  
  1282.                       + (After)  and - (Before) can be  used together.   See
  1283.                       the next section for details.
  1284.  
  1285.            - (Before) date
  1286.                       This  option,  if  you can't  guess,  will  cause  the
  1287.                       system to  display only those  files with date  stamps
  1288.                       prior to the  user's given date.  See  Section 3.2.2.1
  1289.                       [Multi-key message reading commands], page 39.
  1290.  
  1291.                       +  (After) and  - (Before)  can be  used together,  if
  1292.                       desired,  to specify  a range  of dates.    The  range
  1293.                       is  inclusive.    So,  for example,  entering  `.R+-A'
  1294.                       and  answering `91Jan10'  for the  ``after'' date  and
  1295.                       `91Jan15' for  the ``before''  date, would  net you  a
  1296.                       list of  all files uploaded on  or after 91Jan10,  and
  1297.                       on or  before 91Jan15.   The  system does no  checking
  1298.                       to ensure  that the two  dates form a sensible  range.
  1299.                       Thus,  if you  reversed  the two  dates in  the  above
  1300.                       example,  the system would  search long  and hard  and
  1301.                       find nothing.
  1302.  
  1303.            X(modem)
  1304.            Y(modem)
  1305.            W(xmodem)
  1306.            V(anilla)  The  above  four options  are  the  standard  transfer
  1307.                       protocols  you've  no  doubt come  to  love.     Their
  1308.                       use  with `.RD'  or  `.RE'  permit users  to  download
  1309.                       a  directory listing  (optionally qualified  by  other
  1310.                       .R(ead)  modifiers)  using a  standard  file  transfer
  1311.                       protocol.   The  resulting text file  can be  examined
  1312.  
  1313.  
  1314.  
  1315. Chapter 3:  User Command Reference                                        45
  1316.  
  1317.  
  1318.  
  1319.  
  1320.                       on the  user's own  system at  his/her leisure.    For
  1321.                       details about the various protocols,  see Section 12.2
  1322.                       [File  Transfer  Protocols],  page 147.     Note  that
  1323.                       Wxmodem  may  not be  available,  since  we  may  have
  1324.                       disabled  the code  we inherited  due  to problems  we
  1325.                       haven't had inclination to fix.
  1326.  
  1327.            C(apture)  This  .R(ead)  option permits  users  to  capture  the
  1328.                       selected  directory listing  into their  held  message
  1329.                       buffers.    It  is probably  best  suited for  use  in
  1330.                       shared  rooms where  you  wish  to let  other  systems
  1331.                       know  about  files on-line  on  your system.     Users
  1332.                       actually calling  your system can  do a `.RE'  command
  1333.                       themselves, so why enter a redundant message?
  1334.  
  1335. .R(ead) F(ile) foobar.txt
  1336.            This  command,  usable  only in  a  directory  room,  will  cause
  1337.            Fnordadel to  display the contents of  the specified file on  the
  1338.            user's terminal.  Hopefully, the user will only  do this for text
  1339.            files, since binary or compressed files are  not very interesting
  1340.            to read.   No  formatting to the  user's configured screen  width
  1341.            is  done, so  if the  text file  is formatted  with lines  longer
  1342.            than the user's  terminal can display, a  mess will result.   See
  1343.            the T(ext)  modifier in Section  3.2.2.2 [Multi-key file  reading
  1344.            commands], page 43, for a way around this.
  1345.  
  1346.            As mentioned before, if the user executing the  command is not an
  1347.            expert, the system  will prompt for the file name;  otherwise, no
  1348.            prompt is given,  and the system will  wait for the file name  to
  1349.            be typed on the command line.
  1350.  
  1351. .R(ead) [+-XYWVCT] [FB] files.ext
  1352.            The .R(ead)  F(ile) command,  like the message-reading  commands,
  1353.            has  many modifiers  to  increase your  joy in  using  Fnordadel.
  1354.            They  can  frequently   be  strung  together  to  increase   your
  1355.            confusion.    Finally,   as if  that  wasn't  enough,  a  special
  1356.            variant of  the command, .R(ead)  B(atch file), is available  for
  1357.            downloading multiple files at a time, using Xmodem or Ymodem.
  1358.  
  1359.            As mentioned before, if the user executing the  command is not an
  1360.            expert,  the system  will prompt  for the  file name;  otherwise,
  1361.            no prompt is  given, and the system  will wait for the file  name
  1362.            to be  typed on the command  line.   Now, here are the  available
  1363.            modifiers:
  1364.  
  1365.  
  1366.            + (After) date
  1367.            - (Before) date
  1368.                       The above  two modifiers work  just like they do  with
  1369.                       directories and message display.   See Section 3.2.2.1
  1370.                       [Multi-key  message reading  commands], page  39,  for
  1371.                       details on how to do it.
  1372.  
  1373.            X(modem)
  1374.            Y(modem)
  1375.            W(xmodem)
  1376.  
  1377.  
  1378.  
  1379. Chapter 3:  User Command Reference                                        46
  1380.  
  1381.  
  1382.  
  1383.  
  1384.            V(anilla)  The above  four protocol  modifiers work  in the  same
  1385.                       fashion  as  they do  in  other  instances,  with  the
  1386.                       addition that if Xmodem or Ymodem is  chosen, the user
  1387.                       may also  do a batch  file transfer.   See Chapter  12
  1388.                       [File Transfers], page 147, for details.
  1389.  
  1390.            C(apture)  This modifier  works like  the C(apture) modifier  for
  1391.                       message-reading commands.   It allows the  contents of
  1392.                       one  or more  text files  in a  directory  room to  be
  1393.                       sent to a  user's held buffer, there to be  mangled at
  1394.                       his/her whim.  Note that the system  can't tell a text
  1395.                       file from a  binary or compressed file, so  be careful
  1396.                       what gets  captured.   Also note  that only the  first
  1397.                       10000  characters of  the  file(s) will  be  captured;
  1398.                       this is the maximum Fnordadel message size.
  1399.  
  1400.            T(ext)     This  modifier  allows  users  to  view  the  contents
  1401.                       of  text files  with the  normal Fnordadel  formatting
  1402.                       tricks  done to  them.   If  a text  file is  properly
  1403.                       formatted, the results  will be lovely to behold.   If
  1404.                       it isn't, however,  the results will be heinous.   The
  1405.                       typical  problem encountered  is with  paragraphs  not
  1406.                       being indented on  the first line; Fnordadel  will run
  1407.                       them into the previous paragraph just as  it will with
  1408.                       messages typed on the system.
  1409.  
  1410.            Batch downloads
  1411.                       This  is a  fun feature  for file-mongers  to use,  as
  1412.                       it  allows them  to download  multiple  files via  one
  1413.                       single solitary .R(ead) command.  The  command must be
  1414.                       used after the X(modem) or Y(modem)  modifiers, or the
  1415.                       user will  get something that  says B(inary file)  and
  1416.                       doesn't do anything useful.
  1417.  
  1418.                       Standard  Ymodem batch  protocol is  supported.    The
  1419.                       user  may supply  several different  file names  after
  1420.                       the  command,  any  of   which  may  contain  standard
  1421.                       wild-cards `*' and `?'.
  1422.  
  1423.                       Alternatively,  if  the  user   has  compiled  a  list
  1424.                       of  files to  batch-transfer, using  the file  browser
  1425.                       (see  Section  12.3 [The  File  Browser],  page  148),
  1426.                       he/she can  just hit  `<CR>' instead  of entering  any
  1427.                       file  names.    The entire  batch  list will  then  be
  1428.                       transferred.
  1429.  
  1430. .R(ead) H(eader) foo.arc
  1431.            This command,  which can be used only  in a directory room,  will
  1432.            display the  header information for  any .arc  file in the  room.
  1433.            Callers  may use  this  to get  an  idea of  the contents  of  an
  1434.            .arc file  before downloading it.   The .arc  format is the  only
  1435.            one supported  by Fnordadel  ``out of  the box''.   However,  the
  1436.            Sysop can define special door programs that  will enable users to
  1437.            execute this  command for  additional formats,  such as .zoo  and
  1438.            .lzh.   See Section  9.3.2 [Archiver doors],  page 130, for  more
  1439.            information on doing this.  Also consult `ctdlcnfg.doc'.
  1440.  
  1441.  
  1442.  
  1443. Chapter 3:  User Command Reference                                        47
  1444.  
  1445.  
  1446.  
  1447.  
  1448.            As mentioned before, if the user executing the  command is not an
  1449.            expert, the system  will prompt for the file name;  otherwise, no
  1450.            prompt is given,  and the system will  wait for the file name  to
  1451.            be typed on the command line.
  1452.  
  1453.  
  1454. 3.2.2.3  Reading other information
  1455.  
  1456. .R(ead) ?  This command,  predictably, will  cause the  system to display  a
  1457.            brief help file about the .R(ead) command.   Naturally, the Sysop
  1458.            will have configured the  help files properly so as to  make this
  1459.            possible.
  1460.  
  1461. .R(ead) I(nvited)
  1462.            This command,  usable only  in hidden  or invitation-only  rooms,
  1463.            will  show  the user  executing  it  a  list of  all  users  with
  1464.            access to the  room.  The command  may be inverted using  the `~'
  1465.            modifier, in which  case the list will contain all  users lacking
  1466.            access  to the  room.   See  Section  3.2.2.1 [Multi-key  message
  1467.            reading commands], page 39, for details on `~'.
  1468.  
  1469. .R(ead) S(tatus)
  1470.            This command  will display for  the user some mostly  meaningless
  1471.            and occasionally  esoteric status  information about the  system.
  1472.            Try  it  and you'll  see  what we  mean.    We  also  added  some
  1473.            useful data about various privileges possessed and  the values of
  1474.            various user call limits.
  1475.  
  1476.  
  1477.  
  1478. 3.2.3  Navigation commands
  1479.  
  1480.    After reading  the  perhaps bewildering  set of  possibilities  available
  1481. with  .E(nter)  and  .R(ead),  you  should be  pleased  to  find  that  room
  1482. navigation is  a more straightforward affair.   However,  true to form,  the
  1483. multi-key navigation  commands offer a few  things not available with  their
  1484. single-key counter-parts.
  1485.  
  1486. .B(ackup) roomname
  1487.            This command  provides a way to  leave the current room  (without
  1488.            updating  any  of  its messages  as  ``old'')  and  return  to  a
  1489.            previously-visited room.   Any  messages in  the second room,  if
  1490.            ``new''  at the  time of  login and  now marked  as ``old'',  are
  1491.            unmarked, and may again be read using [N]ew.
  1492.  
  1493.            .B(ackup) is the  multi-key sibling of the [B]ackup  command (see
  1494.            Section  3.1.1.2  [Navigation], page  27),  and  is  functionally
  1495.            identical to  the .U(ngoto) command (see  below).  .U(ngoto)  may
  1496.            not  be  available on  any  given  Fnordadel, so  be  aware  that
  1497.            .B(ackup) is always there.
  1498.  
  1499. .G(oto) ?  This is identical  to the single-key command [K]nown-rooms.   See
  1500.            Section 3.1.1.2 [Navigation], page 27.
  1501.  
  1502.  
  1503.  
  1504. Chapter 3:  User Command Reference                                        48
  1505.  
  1506.  
  1507.  
  1508.  
  1509. .G(oto) roomname
  1510.            This command allows the user to leave the  current room (at which
  1511.            time Fnordadel  will mark all  messages in  the room as  ``old'',
  1512.            i.e.    as  having  been  read),  and proceed  to  another  room.
  1513.            The difference  between this  command and  the single-key  [G]oto
  1514.            command is that here  the user gives a room name  explicitly, and
  1515.            the system  will go there  whether it has new  messages in it  or
  1516.            not.  [G]oto only goes to rooms containing new messages.
  1517.  
  1518.            In  order  to  be   more  useful,  the  .G(oto)   command  allows
  1519.            sub-strings of room names  to be used.  Thus, the  roomname value
  1520.            can  be just  a  few sequential  characters  from anywhere  in  a
  1521.            room's name, and Fnordadel will find it and go there.   If two or
  1522.            more rooms match the sub-string, the system will  go to the first
  1523.            one as appearing in the known rooms list.
  1524.  
  1525. .K(nown) ?
  1526.            This command will display a short list  of the available .K(nown)
  1527.            options.
  1528.  
  1529. .K(nown) [DHNP] <CR>
  1530.            The basic  command .K(nown) <CR>  command is like the  single-key
  1531.            [K]nown  command, and  displays  a list  of rooms  accessible  by
  1532.            the  current user.    This command  differs  from the  single-key
  1533.            version  in that  the  list may  contain  rooms from  any  floor,
  1534.            whether  the user  is operating  in floor  mode or  not.    Also,
  1535.            the  list  will not  be  separated  into groups  of  rooms  based
  1536.            on  presence or  absence  of new  messages  in The  rooms.    See
  1537.            also  Section 3.1.1.2  [Navigation],  page  27,  ([K]nown-rooms);
  1538.            Section  3.2.4  [Other multi-key  commands],  page  49,  (.Z(list
  1539.            forgotten));  and Section  3.3 [Multi-key  User Floor  Commands],
  1540.            page 51, (;K(nown floors)).
  1541.  
  1542.            The  command  can  be  further  augmented   by  several  options:
  1543.            D(irectory rooms),  H(idden rooms),  N(etwork rooms) and  P(ublic
  1544.            rooms).   The  options can  be mixed  and matched  in any  order,
  1545.            and will restrict the  types of rooms shown by .K(nown)  to those
  1546.            matching *all*  the options.   That is, for  a room to be  shown,
  1547.            it must match each  attribute entered by the user.   So `.KD<CR>'
  1548.            will show  all directory  rooms, while  `.KDH<CR>' will show  all
  1549.            directory rooms that are also hidden.
  1550.  
  1551. .K(nown) [DHNP] R(ooms) roomname
  1552.            This command  will display  for the  user a list  of known  rooms
  1553.            matching the roomname value entered.   Fnordadel searches for all
  1554.            room names containing  the sequence of characters in  the entered
  1555.            string and  lists them.  The  room type options [DHNP]  described
  1556.            in the previous section are available, and work the same way.
  1557.  
  1558. .S(kip) ?  This command will display a short help  screen concerning the use
  1559.            of the .S(kip) command.   (Assuming the help files are  in order,
  1560.            of course.)
  1561.  
  1562. .S(kip) roomname
  1563.            This command  is to the single-key  [S]kip command as .G(oto)  is
  1564.            to the single-key  [G]oto command.   It allows the user to  leave
  1565.  
  1566.  
  1567.  
  1568. Chapter 3:  User Command Reference                                        49
  1569.  
  1570.  
  1571.  
  1572.  
  1573.            the current room and  proceed to another one as specified  by the
  1574.            roomname value.   roomname  may be just a  few characters of  the
  1575.            room's full  name,  and Fnordadel will  properly find  it and  go
  1576.            there.   As with  .G(oto), if more  than one room's name  matches
  1577.            the  entered value,  the  system  will go  to  the first  one  as
  1578.            appearing in the known rooms list.
  1579.  
  1580.            The difference  between .S(kip) and .G(oto)  is the same as  that
  1581.            between [S]kip  and [G]oto.   Namely, .S(kip)  does not mark  any
  1582.            messages in  the current room  as having been  read by the  user.
  1583.            The user  may return to  the room later the  same session, or  on
  1584.            the next  call, and  find the same  new messages  awaiting.   See
  1585.            Section 3.1.1.2 [Navigation], page 27, on [S]kip.
  1586.  
  1587. .U(ngoto) roomname
  1588.            This  command is  identical in  function  to .B(ackup),  and  the
  1589.            multi-key  counter-part  of  [B]ackup/[U]ngoto.      The  command
  1590.            provides a  way to leave the  current room (without updating  any
  1591.            of its  messages as ``old'')  and return to a  previously-visited
  1592.            room.  Any messages in the second room,  if ``new'' at login time
  1593.            and subsequently marked  as ``old'', are unmarked, and  may again
  1594.            be read using [N]ew.
  1595.  
  1596.            This command will  be unavailable if citadel is started  with the
  1597.            `+backup' command-line  option.   In such  a case, the  .U(pload)
  1598.            command is active, and .B(ackup) must be used  by people who wish
  1599.            to do this sort of ungotoing.
  1600.  
  1601.  
  1602. 3.2.4  Other multi-key commands
  1603.  
  1604.    Finally,  there are  a few  additional  miscellaneous multi-key  commands
  1605. that will prove useful from time to time.
  1606.  
  1607. .H(elp) ?  Assuming the system help files are set up  properly, this command
  1608.            will take the  user to the main  help menu, and present the  list
  1609.            of topics about which help is available.
  1610.  
  1611. .H(elp) topic
  1612.            This  command short-cuts  the  above  main help  menu,  and  goes
  1613.            directly to the topic topic as entered by the user.   The list of
  1614.            available topics can be seen by using the command .H(elp) ?.
  1615.  
  1616. .T(erminate) ?
  1617.            This command will show the user a list  of available options with
  1618.            the .T(erminate)  command.   These  options allow  the user  more
  1619.            flexibility in how the system treats his/her exit,  than does the
  1620.            single-key [T]erminate command.
  1621.  
  1622. .T(erminate) S(tay)
  1623.            This  command allows  the current  user to  log  off the  system,
  1624.            updating  all  necessary  records  concerning   what  rooms  were
  1625.            visited,  what  messages  were  read,  and  so  on.     The  only
  1626.            difference from the normal [T]erminate command  is that Fnordadel
  1627.            will not  cause the modem to  hang up on the  user.  This  allows
  1628.  
  1629.  
  1630.  
  1631. Chapter 3:  User Command Reference                                        50
  1632.  
  1633.  
  1634.  
  1635.  
  1636.            him/her, or  another person sitting there,  to then sign on  with
  1637.            another  account, without  having  to dial  the system  back  and
  1638.            possibly get  beat to the  punch by the  hundreds of other  loyal
  1639.            users trying to call.
  1640.  
  1641. .T(erminate) Q(uit-also)
  1642.            This command behaves the same as [T]erminate.   Why anybody would
  1643.            want to use it is beyond us.
  1644.  
  1645. .T(erminate) P(unt)
  1646.            This command  is another  useful one.   After  executing it,  the
  1647.            system will  log the  user off and  hang up  the modem as  usual.
  1648.            However,  the system does  not update  any room-related  records,
  1649.            such as  what rooms were visited  or forgotten, or what  messages
  1650.            were  read.    In other  words,  it's just  like the  user  never
  1651.            called.   This  is good  if a  user has an  interruption force  a
  1652.            termination  before everything  was read  or written,  and  wants
  1653.            to call  again later and  see everything the way  it was for  the
  1654.            current call.
  1655.  
  1656.            Configuration changes  made using  `.EC' or `.EO'  are not  lost,
  1657.            and the receipt  flags on messages in Mail> are  also permanently
  1658.            updated (i.e.,  authors or mail to you  will be able to tell  you
  1659.            read their messages even though you left using P(unt)).
  1660.  
  1661. .T(erminate) Y(es)
  1662.            This command,  like .T(erminate)  Q(uit-also), is  just the  same
  1663.            as [T]erminate.   One day we  really must eliminate some of  this
  1664.            repetitive redundancy.
  1665.  
  1666. .U(pload) file.ext
  1667.            This  command is  the  extended  counter-part to  the  single-key
  1668.            command [U]pload.   It behaves identically.  See  Section 3.1.1.3
  1669.            [Other room  prompt commands],  page 29.   This  command is  only
  1670.            available if citadel  is started with the `+backup'  command-line
  1671.            option.  Otherwise, the .U(ngoto) command is active.
  1672.  
  1673.            As usual,  if the user  executing the command  is not an  expert,
  1674.            the system will prompt  for a file name; otherwise, no  prompt is
  1675.            given, and the system will wait for the file  name to be typed on
  1676.            the command line.
  1677.  
  1678. .Z (list forgotten)
  1679.            This  command  fills  the  gap  left  by  [K]nown,  .K(nown)  and
  1680.            ;K(nown), by  giving the user  a list of  rooms that he/she  used
  1681.            [Z](forget) to  forget about.    This allows the  user to  regain
  1682.            access to those rooms,  by using .G(oto) and the full  room name,
  1683.            to return to a room.  Once done, the room will be unforgotten.
  1684.  
  1685.            One thing  that this command  won't do  is list forgotten  hidden
  1686.            or invitation-only  rooms.   If the user  forgets a hidden  room,
  1687.            he/she can still get back to it by using  .G(oto) with the room's
  1688.            full name, but  that name will have to be remembered  or obtained
  1689.            without any help from Fnordadel.   Invitation-only rooms can't be
  1690.            entered again unless the user is reinvited.
  1691.  
  1692.  
  1693.  
  1694. Chapter 3:  User Command Reference                                        51
  1695.  
  1696.  
  1697.  
  1698.  
  1699. 3.3  Multi-key User Floor Commands
  1700.  
  1701.    In addition  to the  extended commands  described above,  there are  some
  1702. multi-key commands that apply  specifically to floors.  These  are signified
  1703. by starting  the command  with the `;'  character to  indicate that a  floor
  1704. command  is about  to happen.    As  with `.?',  `;?' will  show  a list  of
  1705. available extended floor commands.  It should look like this:
  1706.  
  1707.       ;C(onfigure floor mode)
  1708.       ;G(oto) floorname
  1709.       ;K(nown floors list)
  1710.       ;R(ead) floor w/ all .R(ead) options
  1711.       ;S(kip all rooms on this floor)
  1712.       ;Z (forget this floor)
  1713.       ;> (move to next floor)
  1714.       ;< (move to previous floor)
  1715.  
  1716. ;C(onfigure floor mode)
  1717.            This is a  quickie way to switch  from floor mode to normal  mode
  1718.            (or vice versa).   The current state of floor mode will  be saved
  1719.            for subsequent logins.   This can also be done in the  `.EC' menu
  1720.            or with the `.EO' command---see Section  3.2.1.3 [Other multi-key
  1721.            entry commands], page  37, and Section 3.5  [User Configuration],
  1722.            page 56.
  1723.  
  1724. ;G(oto) floorname
  1725.            This  command takes  a  full or  partial  name of  a  floor,  and
  1726.            takes the  user to  the first room  in said floor,  if found  and
  1727.            accessible by the user.  Any new messages in  the room being left
  1728.            via ;G(oto) are marked as old, as per usual.
  1729.  
  1730. ;K(nown floors list)
  1731.            This is the most  commonly used floor command.  It prints  a nice
  1732.            formatted list of all  floors in the system, and which  rooms are
  1733.            on which floor.   The list is  printed in two parts:  first,  the
  1734.            floors containing rooms  with unread messages, and second,  those
  1735.            floors without  such rooms.   A  floor will  be listed as  having
  1736.            rooms with unread messages  no matter how many such rooms  are on
  1737.            the floor; there may be only one.
  1738.  
  1739.            If none of the rooms on a floor are accessible  to a user, he/she
  1740.            will not be shown any information about the floor.
  1741.  
  1742. ;R(ead floor)
  1743.            This command  is like  .R(ead), but  traverses all  rooms on  the
  1744.            current floor  looking for  messages.   All  .R(ead) options  are
  1745.            usable,  although  G(lobal)  in particular  wouldn't  make  sense
  1746.            since it goes after all  rooms on the system.  If the  user isn't
  1747.            in floor mode, this command will have exactly  the same effect as
  1748.            .R(ead).
  1749.  
  1750. ;S(kip this floor)
  1751.            This command causes *all* rooms on the  current floor with unread
  1752.            messages to be marked as skipped.  The user  is taken to the next
  1753.            floor containing unread messages.
  1754.  
  1755.  
  1756.  
  1757. Chapter 3:  User Command Reference                                        52
  1758.  
  1759.  
  1760.  
  1761.  
  1762. ;Z (forget this floor)
  1763.            This  is  a fairly  dangerous  command,  in that  it  causes  all
  1764.            rooms on  the current floor to be  forgotten (a la the  [Z]forget
  1765.            command).   The user is taken  to the base floor after  executing
  1766.            this command.  See Section 3.1.1.3  [Other room prompt commands],
  1767.            page 29.
  1768.  
  1769. ;> (move to next floor)
  1770. ;< (move to previous floor)
  1771.            The  ;>  (next)  and ;<  (previous)  commands  are  identical  to
  1772.            the  single   key  [>]next  and   [<]previous  commands.      See
  1773.            Section 3.1.1.2 [Navigation], page 27.
  1774.  
  1775.  
  1776.  
  1777. 3.4  The Message Editor
  1778.  
  1779.    As mentioned earlier, the  Fnordadel message editor is rather  unlike the
  1780. editors on  most other systems.   The big difference  is that a message,  to
  1781. Fnordadel, is just  a long string of characters up  to 10000 in number.   In
  1782. most  other systems,  a message  is  a series  of lines,  each  of which  is
  1783. a string  of characters  that usually  can't exceed  80 (or  so) in  number.
  1784. Message  editing on  such systems  can be  cumbersome,  since every  command
  1785. works on  the message lines.   Sadly, the  editor's concept of lines  rarely
  1786. meshes with  the user's concept  of sentences and paragraphs.   This  causes
  1787. trouble when text needs to be deleted or added to the message.
  1788.  
  1789.    In  Fnordadel,  there  are no  message  ``lines'',  just  straight  text.
  1790. The only  thing that  Fnordadel recognizes  is the concept  of a  paragraph.
  1791. Paragraphs are separated  by a carriage-return in  the text, followed by  at
  1792. least  one space.    This is  a crucial  fact that  causes people  a lot  of
  1793. confusion, so it will be emphasized:
  1794.  
  1795.       If a `<CR>' is typed  and *not* followed by  at least one space,
  1796.       Fnordadel will  throw the  `<CR>' away,  and  replace it  with a
  1797.       simple space  character.    This  permits the  system  to format
  1798.       things nicely for users  with a different screen  width than the
  1799.       author, no matter how many spurious `<CR>' characters the author
  1800.       may enter.  Line-based editors usually do not work this way.
  1801.  
  1802.    While entering  the  text of  a message,  Fnordadel  doesn't worry  about
  1803. making it look pretty by doing word-wrap, i.e.   preventing whole words from
  1804. being broken  on the  right-hand margin  of the user's  screen while  he/she
  1805. types.  Fnordadel  performs no pretty formatting on the message until  it is
  1806. actually displayed,  at which  time it will  oblige the  user reading it  by
  1807. formatting everything neatly out according to the configured screen width.
  1808.  
  1809.    At various times  during the course of entering  a message, it is  likely
  1810. that a user will want to do things such as display  the text entered so far,
  1811. perform some edits, or save the message.  To get  out of message entry mode,
  1812. the user must enter  two `<CR>s' in a row.   He or she will then  be sitting
  1813. at the main  message editor prompt, which  also shows the current room  name
  1814. (for those forgetful types).  Pressing `?' will generate this list:
  1815.  
  1816.  
  1817.  
  1818. Chapter 3:  User Command Reference                                        53
  1819.  
  1820.  
  1821.  
  1822.  
  1823.       Editing:
  1824.       [B]lock replace text
  1825.       [D]elete text
  1826.       [I]nsert paragraph break
  1827.       [K]ill text block
  1828.       [R]eplace text
  1829.  
  1830.       Control:
  1831.       [A]bort entry
  1832.       [C]ontinue
  1833.       [H]old Message for later
  1834.       [L]ocal save
  1835.       [N]etwork save (shared rooms/mail)
  1836.       An[O]nymous message toggle
  1837.       [P]rint formatted
  1838.       [S]ave message
  1839.  
  1840. [B]lock replace text
  1841.            This command  allows the user  to replace a  large chunk of  text
  1842.            with something else.   When it is invoked, Fnordadel  will prompt
  1843.            for the starting and ending strings of  text which ``frame'' (and
  1844.            are included in) the block of text to be replaced.
  1845.  
  1846.            If the two strings do not match a block of  text somewhere in the
  1847.            message,  Fnordadel will  say as much  and return  to the  editor
  1848.            prompt.   Otherwise, the system  will prompt for the  replacement
  1849.            text, which  is limited  to about 200  characters in  size.   The
  1850.            user may  just hit a carriage-return here  to cause the block  of
  1851.            text to be replaced with nothing (i.e.  deleted).
  1852.  
  1853.            When the  replacement text is entered,  Fnordadel will then  echo
  1854.            back  to the  screen  the entire  block  of text  it found  as  a
  1855.            match for the starting  and ending search text.  The  system will
  1856.            display a  little bit  of additional  text before  and after  the
  1857.            matching block  to give an  idea of  the context surrounding  the
  1858.            block, so the user  can make sure the right stuff is going  to be
  1859.            replaced.  Following will appear a prompt:
  1860.  
  1861.                  Replace this one? (Y/N/[A]ll/[Q]uit):
  1862.  
  1863.            At this point,  the user may enter `Y' to cause  the replacement,
  1864.            or `N' to cancel it.  In either case,  the system will search for
  1865.            another match  to the starting  and ending text.   If found,  the
  1866.            prompt will appear again.
  1867.  
  1868.            If  the  [A]ll  option  is  chosen  at  some  point,  the  system
  1869.            will  then automatically  search out  and  replace all  remaining
  1870.            instances  of the  starting and  ending text,  starting with  the
  1871.            block currently  displayed.   The process  is unstoppable, so  be
  1872.            sure it's what is desired.
  1873.  
  1874.            The  [Q]uit option  will  cancel  the current  replacement  being
  1875.            asked about, and  stop the system from looking for  any remaining
  1876.            candidates.    Once the  searching stops,  by  [Q]uit or  because
  1877.            there  are no  more  matches, the  system  will report  how  many
  1878.            matches were found and how many were actually replaced.
  1879.  
  1880.  
  1881.  
  1882. Chapter 3:  User Command Reference                                        54
  1883.  
  1884.  
  1885.  
  1886.  
  1887.            One  thing to  note  about all  of the  Fnordadel  delete/replace
  1888.            commands is that  they search for text  in reverse, from the  end
  1889.            of the  message towards  the start.    This is  done because,  in
  1890.            general, users want  to change the text they typed  recently more
  1891.            often than the text they typed awhile ago.
  1892.  
  1893. [D]elete text
  1894.            This  command  permits the  user  to specify  a  single  (usually
  1895.            short)  text string  to be  deleted from  the message.    If  the
  1896.            string is  found, it will be  echoed back for confirmation,  with
  1897.            some surrounding text  for context.   As with [B]lock replace,  a
  1898.            prompt will  appear allowing  [A]ll instances to  be deleted,  or
  1899.            the process to be [Q]uit.
  1900.  
  1901. [I]nsert paragraph break
  1902.            So  you've written  a  10K message  and  just realized  that  you
  1903.            didn't put  a single  paragraph break in  it?   Bad form,  you're
  1904.            sure to  lose face.    You can  correct the faux  pas using  this
  1905.            command.   Simply invoke it and  supply a short text string  that
  1906.            uniquely identifies  the place in your  message where you want  a
  1907.            paragraph break.   Fnordadel will find  the string, and insert  a
  1908.            break just before it.  That's *before*, not after.
  1909.  
  1910.            Note that  the system does  not, at the  moment, prompt the  user
  1911.            when it has found a match for the search string.   Be careful not
  1912.            to insert breaks in spurious loca
  1913.  
  1914.            tions.
  1915.  
  1916. [K]ill text block
  1917.            This command is  the deletion equivalent of [B]lock replace,  and
  1918.            works in  a similar  fashion.   The  sole change  is that  [K]ill
  1919.            doesn't ask for  replacement text, since there isn't going  to be
  1920.            any replacement except hard vacuum.
  1921.  
  1922. [R]eplace text
  1923.            This command is  the replacement equivalent of the  [D]elete text
  1924.            command  above.   It  functions  in the  same manner  as  [B]lock
  1925.            replace, but requests  only a single (usually short)  text string
  1926.            to search for.
  1927.  
  1928. [A]bort entry
  1929.            This  command permits  the  user to  throw  the message  away  if
  1930.            he  or she  has  second  thoughts about  it.    The  system  will
  1931.            prompt for confirmation  before tossing the message.   Ain't that
  1932.            considerate?
  1933.  
  1934. [C]ontinue
  1935.            This command  allows the user  to resume  message entry where  it
  1936.            was left  off.  The two  carriage-returns entered to escape  from
  1937.            message entry mode  before are not kept around, so  message entry
  1938.            will continue immediately  after the last character typed  before
  1939.            the  two  `<CR>'s.    The last  few  words  of the  text  so  far
  1940.            are redisplayed  so the user  can recapture his  or her train  of
  1941.            thought.
  1942.  
  1943.  
  1944.  
  1945. Chapter 3:  User Command Reference                                        55
  1946.  
  1947.  
  1948.  
  1949.  
  1950. [H]old message for later
  1951.            This command  is very handy  when used properly.   [H]olding  the
  1952.            message  will store  it in  a temporary  buffer where  it can  be
  1953.            retrieved later  using the  .E(nter) H(eld-message) command  (see
  1954.            Section 3.2.1.1 [Multi-key message entry commands],  page 35), or
  1955.            using  [H]eld message  from `more'  mode (see  Section 3.6  [More
  1956.            Mode], page 59).
  1957.  
  1958.            Meanwhile, however, after  pressing `H', the user is  returned to
  1959.            the room prompt  and can go about normal activities  like reading
  1960.            other messages and moving to other rooms.   The held message does
  1961.            not have to be  continued in the room in which it  was originally
  1962.            started;  it can be  resurrected and saved  into any other  room,
  1963.            even Mail>.
  1964.  
  1965.            This  command is  particularly  useful  for replying  to  several
  1966.            different  messages  within a  single  message.    The  user  may
  1967.            enter a  reply to  one message,  [H]old the  reply, and  continue
  1968.            reading additional messages and tacking replies  onto his/her own
  1969.            existing message.   This is usually  considered to be good  form,
  1970.            especially if  posting a series of  replies in a networked  room.
  1971.            One message is easier  to transmit than many, and also  will take
  1972.            up fewer  valuable slots on  other variants  of Citadel that  can
  1973.            only store a fixed number of messages in each room.
  1974.  
  1975.            Each  held  message is  squirreled  away  in a  disk  file,  from
  1976.            where  it  is  retrieved   when  the  user  continues  it.      A
  1977.            `ctdlcnfg.sys' parameter called  #keephold lets the Sysop  choose
  1978.            to have  Fnordadel throw away  each hold file  when the user  who
  1979.            saved  it logs  out, or  to keep  the  hold file  until the  user
  1980.            continues his/her message.  This could be any  time in the future
  1981.            (unless the user's  account scrolls off the system  before he/she
  1982.            continues the  message), so  the hold files  might take up  quite
  1983.            a bit  of space.    If this happens,  the Sysop  can delete  them
  1984.            manually from GEM or a command shell.
  1985.  
  1986. [L]ocal save
  1987.            This command allows a  user to force Fnordadel to save  a message
  1988.            as  a non-networked  message,  in  a  room that  might  otherwise
  1989.            automatically  send the  message out  over the  network.   It  is
  1990.            typically used when entering a reply to  something that should be
  1991.            kept local due to  being of purely local interest, or  just plain
  1992.            snarky in tone.   Other Sysops on the network usually  won't like
  1993.            to see either type of message coming from your system.
  1994.  
  1995.            This command  works in the  Mail> room,  as well.   If a  message
  1996.            has been  entered to  a user  residing at another  system on  the
  1997.            network, hitting `L' allows redirecting the message  to a user on
  1998.            the local system instead.
  1999.  
  2000. [N]etwork save
  2001.            This  command has  the opposite  effect of  [L]ocal save,  above.
  2002.            One  additional  restriction,  however,  is that  not  all  users
  2003.            may  have  the  necessary  status  to  make   a  message  go  out
  2004.            over  the network.    This depends  on the  #allnet parameter  in
  2005.            `ctdlcnfg.sys'.   If  #allnet is  not set, the  Sysop must  grant
  2006.  
  2007.  
  2008.  
  2009. Chapter 3:  User Command Reference                                        56
  2010.  
  2011.  
  2012.  
  2013.  
  2014.            network  privileges  to  users on  an  individual  basis.     See
  2015.            .E(nter)  N(et-message)  in Section  3.2.1.1  [Multi-key  message
  2016.            entry  commands], page  35,  #allnet in  Section 8.1.2  [Optional
  2017.            networking parameters],  page 98,  and Section  5.2 [User  Status
  2018.            Commands], page 80.
  2019.  
  2020.            As  with  [L]ocal save,  [N]etwork  save  works  in Mail>.     If
  2021.            users wish  to send  mail to  long-distance systems,  they will
  2022.            need  __long-distance network  credits__ in  addition to  network
  2023.            privileges.
  2024.  
  2025. An[O]nymous message toggle
  2026.            In rooms  which are anonymous,  author names and the  dates/times
  2027.            of entry are  normally not stored or shown  with messages.   If a
  2028.            user wishes  to unquestionably identify a  message as his or  her
  2029.            own,  however, this  command will override  the normal  anonymity
  2030.            of  the room  and put  a standard  header on  the message.    See
  2031.            Section  2.2 [Rooms],  page 15,  and the  .A(ide) E(dit)  command
  2032.            in Section  4.1.2 [The  .A(ide) command],  page 63,  for more  on
  2033.            anonymous rooms.
  2034.  
  2035. [P]rint formatted
  2036.            This  command  will display  the  message text  entered  so  far,
  2037.            nicely formatted to the user's configured screen  width.  Message
  2038.            display  can  be manipulated  using  [P]ause,  [J]ump,  etc.,  as
  2039.            usual.
  2040.  
  2041. [S]ave message
  2042.            Here's where all the hard work pays off!   [S]ave the message and
  2043.            then sit back and wait for all the plaudits  and applause to come
  2044.            pouring in.   Just don't forget  to duck the tomatoes and  rotten
  2045.            eggs from the unenlightened.
  2046.  
  2047.  
  2048.  
  2049. 3.5  User Configuration
  2050.  
  2051.    There is an ever-increasing  list of personal configuration  options that
  2052. a Fnordadel  user can set.   Some  of them  (all of them,  if a user  claims
  2053. Citadel  expertise) are  set when  each  user first  logs into  the  system.
  2054. If they  ever need changing,  there exist  the .E(nter) C(onfiguration)  and
  2055. .E(nter) O(ption)  commands.   `.EC' is  a menu-driven;  each option in  its
  2056. menu  can also  be  set directly  by  `.EO'.    See Section  3.2.1.3  [Other
  2057. multi-key entry commands], page 37.  The list of options is as follows:
  2058.  
  2059.       [A]uto new
  2060.       [E]xpert mode
  2061.       [F]loor mode
  2062.       [L]inefeeds switch
  2063.       [N]ulls
  2064.       [O]- show last old message on [N]ew
  2065.       [P]ause between messages
  2066.       [R]unning count of msgs while reading
  2067.       [T]- show time of message creation
  2068.       [V]iew configuration
  2069.       [W]idth of screen
  2070.  
  2071.  
  2072.  
  2073. Chapter 3:  User Command Reference                                        57
  2074.  
  2075.  
  2076.  
  2077.  
  2078.       e[X]it
  2079.       [Y]- set default transfer protocol
  2080.  
  2081. [A]uto new
  2082.            This flag tells  the system whether it should  automatically show
  2083.            the user all new Lobby>  messages after he or she logs in.   Most
  2084.            Citadels do  this whether you  like it  or not.   We didn't  like
  2085.            it,  so we  took it out.    After much  protest, we  put it  back
  2086.            in as  a configurable  thing.   The default  the first time  this
  2087.            question is posed (when  a new user first logs in) is set  by the
  2088.            `ctdlcnfg.sys' parameter #defautonew.
  2089.  
  2090. [E]xpert mode
  2091.            This parameter allows  a user to control Fnordadel's  behavior in
  2092.            some ways.   In  general, an experienced  user is shown far  less
  2093.            verbose information  in terms  of command  prompts and  automatic
  2094.            help  messages.   The  default the  first time  this question  is
  2095.            asked (during login) is ``no''.
  2096.  
  2097. [F]loor mode
  2098.            This option  allows the user to  control whether he/she will  use
  2099.            the system in floor  mode.  If ``no'', the system will  appear to
  2100.            be one big  unorganized collection of rooms.   If ``yes'',  rooms
  2101.            will be grouped by  their defined floors, if there are any.   The
  2102.            default here is ``yes''.  See Section 2.3  [Floors], page 17, for
  2103.            a description  of floors, and  Section 3.3 [Multi-key User  Floor
  2104.            Commands], page 51,  for commands to use  them.  The default  the
  2105.            first time  this question is asked (during  login) is set by  the
  2106.            `ctdlcnfg.sys' parameter #deffloormode.
  2107.  
  2108. [L]inefeeds switch
  2109.            This  parameters allows  a user  to tell  Fnordadel whether  each
  2110.            line  output  by   the  system  should  be  ended  with   just  a
  2111.            carriage-return  (`<CR>')  character,  or both  a  `<CR>'  and  a
  2112.            line-feed (`<LF>').    On some terminals  (mostly ancient  ones),
  2113.            a  `<CR>' character  only  causes the  cursor  to return  to  the
  2114.            left margin,  not to  advance a line  as well.   Thus the  `<LF>'
  2115.            characters might  be needed.    The default here  the first  time
  2116.            through  (during login)  is ``yes'',  to output  both `<CR>'  and
  2117.            `<LF>'.
  2118.  
  2119. [N]ulls    This is  the number of  non-displaying ASCII ``null''  characters
  2120.            that  Fnordadel will  output  at  the end  of  each line  on  the
  2121.            screen.    This capability,  which is  mostly  not understood  by
  2122.            users these days,  allows them to cause Fnordadel to  slow output
  2123.            down for  them.  (Nulls  are non-displaying characters, but  they
  2124.            still take time to send over the modem.)   Users with fast modems
  2125.            (2400 bps  and higher)  can use  this feature to  help them  read
  2126.            what's being sent without having to hit the  [P]ause key until it
  2127.            breaks.  The initial default value (during login) is 0 nulls.
  2128.  
  2129. [O]- show last old message on [N]ew
  2130.            This option allows  the user to specify whether  Fnordadel should
  2131.            show the  last old  (i.e.   previously read)  message in a  room,
  2132.            if there  is one,  each time the  [N]ew command is  used.   Users
  2133.            with  memory problems  might  want  to answer  ``yes'',  and  use
  2134.  
  2135.  
  2136.  
  2137. Chapter 3:  User Command Reference                                        58
  2138.  
  2139.  
  2140.  
  2141.  
  2142.            the last  old message  to remind  them of  the discussion.    The
  2143.            first-time default  answer here (during  login) is controlled  by
  2144.            the `ctdlcnfg.sys' parameter #deflastold.
  2145.  
  2146. [P]ause between messages
  2147.            This  option  allows a  user  to  specify the  `more'  prompt  to
  2148.            be  automatically used  by  all message-reading  commands.    See
  2149.            Section 3.6  [More Mode], page 59,  for details about the  `more'
  2150.            prompt.     Note  that `more'  mode  is  never  the  default  for
  2151.            file-reading  commands.    Also  note  that  the  `more'  default
  2152.            can  be overridden  using  the  `~' modifier  with  .R(ead);  see
  2153.            Section 3.2.2.1  [Multi-key message  reading commands], page  39.
  2154.            The  default   value  to  this  flag   when  a  new  user   signs
  2155.            on  is initially  controlled  by  the `ctdlcnfg.sys'  parameter
  2156.            #defreadmore.
  2157.  
  2158. [R]unning count of msgs while reading
  2159.            This parameter  allows a user to  tell Fnordadel to show  him/her
  2160.            a running downward  count of the number of messages  remaining to
  2161.            be read,  while  using any message-reading  command.   The  count
  2162.            is shown in  the message header as  ``(n left)'', where ``n''  is
  2163.            the number of messages  still to be read.  This  option's initial
  2164.            default  value  for new  users  is set  with  the  `ctdlcnfg.sys'
  2165.            parameter #defnumleft.
  2166.  
  2167. [T]- show time of message creation
  2168.            This option  allows the  user to control  whether Fnordadel  will
  2169.            display  message  creation times  in  message  headers,  or  just
  2170.            creation dates.  The default here when new users  login is set by
  2171.            the `ctdlcnfg.sys' #defshowtime parameter.
  2172.  
  2173. [V]iew configuration
  2174.            This command  does the obvious,  and displays the user's  current
  2175.            configuration settings.
  2176.  
  2177. [W]idth of screen
  2178.            This  is  the   user's  terminal's  line  width  in   characters.
  2179.            Fnordadel imposes  a range  limit of 10  characters minimum,  255
  2180.            characters  maximum.     Most  users  these  days  will  have  an
  2181.            80-character screen width.
  2182.  
  2183.            Due to  the way Fnordadel formats  information for display,  it's
  2184.            a good idea  to set this value to  1 less than the  actual width.
  2185.            Thus an 80-column user would answer 79.   Doing this prevents the
  2186.            odd spurious blank line from showing up.   The default value here
  2187.            is whatever  the Sysop has defined  as the system's screen  width
  2188.            (see width parameter in `ctdlcnfg.doc').
  2189.  
  2190. e[X]it     Another obvious  command.   This one exits  the menu and  returns
  2191.            the user to  the room prompt.   Any changes made in the  menu are
  2192.            updated into the user's log entry.
  2193.  
  2194. [Y]- set default transfer protocol
  2195.            This command allows the user to set  a default transfer protocol.
  2196.            The  choice  may be  made  from:   Xmodem,  Ymodem  and  Wxmodem.
  2197.  
  2198.  
  2199.  
  2200. Chapter 3:  User Command Reference                                        59
  2201.  
  2202.  
  2203.  
  2204.  
  2205.            Wxmodem may  not be available,  since we  don't believe the  code
  2206.            works anyway, and have never bothered to fix it.
  2207.  
  2208.            The protocol  specified here  will be used  with the  [D]ownload,
  2209.            [U]pload  (if  the Sysop  has  made it  available)  and  .E(nter)
  2210.            F(ile) commands.   All are documented in this chapter.   See also
  2211.            Chapter 12 [File  Transfers], page 147.   The default value  used
  2212.            for this option when users first login is ``Xmodem''.
  2213.  
  2214.  
  2215.  
  2216. 3.6  More Mode
  2217.  
  2218.    As mentioned in Section 3.2.2 [Multi-key read commands], page  38, one of
  2219. the message-reading options available  is called M(ore).  To  recap briefly,
  2220. with `more'  mode, the  system pauses  after each message  displayed by  any
  2221. of the message-reading  commands, to permit  the digestion of what was  just
  2222. read, and/or the entry of a few other commands,  without breaking out of the
  2223. message-reading sequence.
  2224.  
  2225.    M(ore) is  used by default  by all of  the message-reading commands  when
  2226. the user is in Mail>.   There is also a user configuration option  that will
  2227. make the  system default to  `more' mode all  the time,  in all rooms,  with
  2228. both single- and multi-key commands.  See  Section 3.5 [User Configuration],
  2229. page 56.
  2230.  
  2231.    Hitting `?' at  the `more cmd:' prompt  will display a list of  available
  2232. options:
  2233.  
  2234.       [A]- this message again
  2235.       [B]ackup to previous message
  2236.       [D]elete this message
  2237.       [H]- continue held message
  2238.       [N]ext message (also <SPACE>, <CR>)
  2239.       [R]eply to this message
  2240.       e[X]it message reader (also [Q]uit, [S]top)
  2241.  
  2242. [A]- this message again
  2243.            This  M(ore)  command will  cause  the system  to  redisplay  the
  2244.            message just read,  for further critical examination, or  for the
  2245.            short of memory.
  2246.  
  2247. [B]ackup to previous message
  2248.            The  command  backs up  one  message,  and shows  what  has  gone
  2249.            before.    The  command  does nothing  if  there is  no  previous
  2250.            message.  Note that if reading new messages,  one can not back up
  2251.            into those that are old.  The reverse is also true.
  2252.  
  2253. [D]elete this message
  2254.            This command  allows users to delete messages.   See Section  3.7
  2255.            [Deleting Messages], page 60, for more.
  2256.  
  2257. [H]- continue held message
  2258.            This  M(ore) command  is quite  useful, as  it  permits the  user
  2259.            to jump  into the  held buffer and  add to  a message already  in
  2260.            progress.    Once the  desired additions  have been  made to  the
  2261.  
  2262.  
  2263.  
  2264. Chapter 3:  User Command Reference                                        60
  2265.  
  2266.  
  2267.  
  2268.  
  2269.            message,  it can  be held  again or  saved, and  the system  will
  2270.            resume the message-reading cycle where it left off.
  2271.  
  2272. [N]ext message (also <SPACE>, <CR>)
  2273.            This command, or  its equivalents, will cause the system  to move
  2274.            on to the next message  in the sequence.  When there are  no more
  2275.            messages to  be read, the  user is returned  to the regular  room
  2276.            prompt.   Messages  entered by  the user during  reading are  not
  2277.            shown, if reading in an old-to-new direction.
  2278.  
  2279. [R]eply to this message
  2280.            This  command permits  the  user to  start  a new  message  which
  2281.            will  be in  reply  to the  message  just read.    In  all  rooms
  2282.            except Mail>, the  reply has no special significance.   In Mail>,
  2283.            however, the  system will automatically  address the new  message
  2284.            to  the author  of the  message to  which the  user is  replying.
  2285.            As  with all  messages, the  user can  [H]old it  if so  desired.
  2286.            Whether  it is  held or  saved,  the system  will  return to  the
  2287.            message-reading cycle where it left off.
  2288.  
  2289.            The system may prevent  the reply for a variety of reasons:   the
  2290.            would-be recipient of the  message is no longer in the  user log;
  2291.            the  message must  be  netted to  reach  the recipient,  and  the
  2292.            replier doesn't  have net privileges  or sufficient l-d  credits;
  2293.            the message  must be netted  but the  system can't recognize  the
  2294.            destination net node; etc.
  2295.  
  2296. e[X]it message reader (also [Q]uit, [S]top)
  2297.            This  command halts  the  message-reading cycle  immediately  and
  2298.            returns the user to the room prompt.
  2299.  
  2300.    There are a few additional M(ore) commands available to  users with Aide,
  2301. Co-Sysop  or Sysop  status.   They  permit moving,  copying and  journalling
  2302. messages, and other more  esoteric things.  See Section 4.1.4  [Aide message
  2303. deletion  and  movement],  page 68,  Section  4.2.2  [Message  journalling],
  2304. page 72, Section 4.2.3 [Promoting local messages to  net messages], page 73,
  2305. and Section 5.3.3 [Mail receipt flag], page 84.  Also,  use of M(ore) can be
  2306. negated when the modifier is used in conjunction with  the `~' modifier; see
  2307. Section 3.2.2.1 [Multi-key message reading commands], page 39.
  2308.  
  2309.  
  2310.  
  2311. 3.7  Deleting Messages
  2312.  
  2313.    Users  who enter  messages  may find,  from  time  to time,  that  it  is
  2314. necessary  to delete  one  for some  reason or  other.    Fnordadel  permits
  2315. regular users to delete messages, with the following restrictions:
  2316.  
  2317.   o A message must have been authored by the user trying to delete it.
  2318.  
  2319.   o A message in a  normal room (i.e., not Mail>) must have been  entered by
  2320.     the  user during  his or  her current  login session,  to be  deletable.
  2321.     Once  the user logs  out, all  messages in normal  rooms become  locked.
  2322.     Only an Aide, Co-Sysop or the Sysop can delete them then.
  2323.  
  2324.  
  2325.  
  2326. Chapter 3:  User Command Reference                                        61
  2327.  
  2328.  
  2329.  
  2330.  
  2331.   o A message in the  Mail> room can be deleted by the author at  any point,
  2332.     provided  that the  intended recipient  has not  read  the message  yet.
  2333.     Fnordadel keeps  track of whether Mail>  messages are read or unread  by
  2334.     their recipients; once  the recipient has seen the message, there  is no
  2335.     point deleting it.
  2336.  
  2337.    Assuming that  the above  restrictions permit  a user to  delete a  given
  2338. message, there are two ways to carry out the deletion:
  2339.  
  2340.  1. While reading messages normally
  2341.  
  2342.       - Use  normal message-reading  commands  (e.g.    [N]ew or  [R]everse)
  2343.         to  display the desired  message on screen,  and [P]ause the  system
  2344.         somewhere in the body of the target message's text.
  2345.  
  2346.       - While the system is paused, hit `D' for [D]elete.
  2347.  
  2348.       - The  system will resume displaying the  message through to its  end,
  2349.         then display a prompt like this:
  2350.  
  2351.               [D]elete [A]bort?
  2352.  
  2353.       - To delete the message, hit `D'.  To abort the process, hit `A'.
  2354.  
  2355.  2. While reading mesages using `more'
  2356.  
  2357.       - Since  the above method can  be cumbersome, or down-right  difficult
  2358.         in the  case of small messages that  scroll by before you  can pause
  2359.         the  system, users  may also  select the [D]elete  command from  the
  2360.         .R(ead) M(ore) prompt.  See Section 3.6 [More Mode], page 59.
  2361.  
  2362.       - The rest proceeds as above.
  2363.  
  2364.