01/26/91  forum

Syntax as a command:  forum {meeting_name} {-control_args}


Function:  The forum command enters the Forum interactive meeting
system.  Once the command is invoked, you are placed in the Forum
subsystem, where you must use Forum requests.  Forum requests are
listed below under "List of Requests".


Arguments:
meeting_name
   is the name or pathname of the meeting to be entered immediately
   upon invoking Forum.  If a pathname is specified, it identifies the
   meeting to enter.  Otherwise, Forum searches for meeting_name by
   using the forum search list.


Control arguments:
-abbrev, -ab
   specifies that abbreviation processing should be done by the Forum
   request processor.  If the -profile argument is not given, the
   user's default profile segment
   (>udd>Project_id>Person_id>Person_id.profile) is used.
-auto_write
   specifies that the qedx request automatically updates the message
   when you quit the editor.
-brief, -bf
   suppresses some messages from Forum and shortens others.
-input_fill, -ifi
   fills transactions before entering them into the proceedings of a
   meeting.
   (Default)
-input_line_length N, -ill N
   causes input filling (fill request and default filling) to be done
   with line length N.  (Default is 72)


-line_length N, -ll N
   causes both input and output filling (fill request and default
   filling) to be done with line length N.  (Default is 72)
-list {trans_spec}, -ls {trans_spec}
   lists the specified transactions before entering the request loop.
   If no transaction specifier is given, all the transactions in the
   meeting are listed.
-long, -lg
   uses long messages from Forum.  (Default)
-meeting meeting_name, mtg meeting_name
   enters the meeting whose entryname or pathname is meeting_name.
-no_abbrev, -nab
   specifies that abbreviation processing is not to be done by the
   Forum request processor.  (Default)
-no_auto_write
   specifies that the qedx request requires you to use the write
   request to update the
   message before quitting the editor.  Any attempt to exit without
   writing results in a query.  (Default)


-no_input_fill, -nif
   does not fill transactions before entering them into the proceedings
   of a meeting.
-no_output_fill, -nof
   does not fill transactions before printing them on the user's
   terminal.   (Default)
-no_prompt
   does not prompt in the request loop.
-no_start_up, -nsu
   does not execute the start_up exec_com.
-output_fill, -ofi
   fills transactions before printing or writing.


-output_line_length N, -oll N
   causes output filling (fill request and default filling) to be done
   with line length N.  (Default is 72)
-profile profile_path, -pf profile_path
   specifies that abbreviation processing is to be done using the
   profile named profile_path.  If this control argument is given, the
   -abbrev argument need not be given.
-prompt prompt_string
   sets the request loop prompt to prompt_string.  (Default is
   "forum:")


-quit
   tells Forum to process the initial request line and then return
   without entering the request loop (even if the initial request line
   is aborted).
-request string, -rq string
   executes the requests in string before entering the request loop.
-start_up, -su
   executes the start_up exec_com.   (Default)


-trailer_format TYPE, -tfmt TYPE
   specifies the format of the trailer line printed by the print
   and write requests after each transaction.   TYPE must be one of:

   none
      no trailer is printed.
   number, nb
      a trailer containing the transaction number is printed.
   more
      a trailer containing the transaction number is printed.  If there
      is a subsequent transaction in the same chain, "(more)" is
      also printed.
   references, refs
      a trailer containing the transaction number and the numbers of
      the previous and next transaction is printed.  (Default)


Notes on requests:
Request lines use () for iteration, "" for quoting, and [] to
invoke Forum active requests (listed below under "List of Active
Requests").


Any request line that begins with ".."  is passed directly to the
Multics command processor with the leading ".."  stripped off.
Consequently, any reference to an active function is evaluated by the
Multics command processor.  The "execute" (e) forum request can also
make use of active strings via the square brackets ([]), but these are
evaluated as active requests by Forum before the command line is passed
to the Multics command processor.


Notes on start_up:  If the -no_start_up control argument is not given,
forum will search for and execute an exec_com file of forum requests.
It will look for a segment named "start_up.fmec" in the home directory,
project directory, and >site in that order.  The start_up will be
executed before going to the initial meeting and before executing the
initial request line.


Notes on filling:
Transactions can be filled out to a given line length on both
input and output.  By default, all transactions input from the terminal
are filled to a line length of 72 upon entry.  The -input_fill (-if)
and -no_output_fill (-nof) control arguments are the default.  These
control arguments specify a global attribute for the invocation of
Forum, which can be overridden by control arguments associated with the
various requests for inputting and outputting transactions (such as the
-no_fill control argument to the "print" request).  The -input_fill and
-no_input_fill control arguments do not affect transactions entered
using the -input_file control argument to the talk and reply requests.
The fill width can be altered by control arguments to the forum command
(-line_length, -input_line_length, and -output_line_length) and by the
-line_length control argument to the forum requests that fill
transactions.


List of requests:
Listed below are the available requests that you can use once you
are in the Forum subsystem.

?
   lists the available forum requests and active requests.
.
   identifies Forum with version number; gives meeting_name if
   attending; gives count of new, total, last, and current
   transactions; and gives number of lines in the unprocessed
   transaction.
abbrev {-control_args}, ab {-control_args}
   turns abbreviation processing on or off and changes profile
   segments.
add_meeting
   adds a meeting to the list of meetings attended.  Makes the user a
   participant of the meeting.


add_participant NAME {-control_arg}, apt NAME {-control_args}
   allows a user to participate in the meeting.  (A chairman request
   only).
add_project NAME {-control_arg}, apj NAME {-control_args}
   allows a project to participate in the meeting.  (A chairman request
   only).
announce_meeting
   places an announcement of the current meeting in another meeting.
   This announcement can be used with the add_meeting request by other
   users to add this meeting to their search list.
announcement_info
   extracts information from a meeting announcement produced by the
   announce_meeting request.


answer STR {-control_args} request_line
   supplies an answer to a question asked by a request.  STR is the
   desired answer to the question and request_line is the Forum request
   line.
apply command_line, ap command_line
   places the unprocessed transaction into a temporary segment,
   concatenates command_line with the pathname, and passes the result
   to the Multics command processor.  The temporary segment is then
   read back in as the unprocessed transaction.


chairman {meeting_name}, cm {meeting_name}
   prints the User_id (Person_id.Project_id) of the meeting's chairman.
check_meetings
   establishes a list of meetings to be flagged when changed.  The
   meeting can be successively viewed with the next_meeting (nm)
   request.
current_meeting {-control_args}, cmtg {-control_args}
   prints the name of the current meeting.
delete trans_specs, dl trans_specs
   allows the chairman to delete specified transactions from the
   proceedings.
do {request_line} {args}, do {-control_args}
   substitutes args into the request_line and passes the result to the
   Forum request processor.  Control arguments can be -nogo to suppress
   execution or -long (-lg) to display expanded line before execution.


enter {-control_args}, en {-control_args}, send {-control_args}
   enters the unprocessed transaction into the proceedings of a
   meeting.
exec_com PATH STRs, ec PATH STRs
   executes an exec_com segment containing forum requests where PATH is
   the pathname of the exec_com segment (the ".fmec" suffix is assumed)
   and STRs are arguments to be passed to the program.
execute STRs, e STRs
   executes STRs as a Multics command line after evaluating Forum
   active requests.  As an active request, returns the result of
   evaluating strings as an Multics active string.
fill {-control_args}, fi {-control_args}
   reformats transaction text to fit in a given line length.
forum_dir, fd
   prints the pathname of the central forum directory.


goto meeting_name, g meeting_name
   enters the user into the meeting_name meeting.
help {STR}
   prints information about request names or topics.  A list of
   available topics is produced by the list_help request.
if EXPR -then LINE1 {-else LINE2}
   conditionally executes one of two request lines depending on the
   value of an active string.  EXPR is the active string that must
   evaluate to either "true" or "false".  LINE1 is the Forum request
   line to execute if EXPR evaluates to "true".  LINE2 is the Forum
   request line to execute if EXPR evaluates to "false".
list {trans_specs} {-control_args}, ls {trans_specs} {-control_args}
   prints a summary of the specified transactions.
list_help {topics}, lh {topics}
   prints a list of available info segments whose names include a topic
   string.


list_meetings {meeting_names} {-control_args} , lsm {meeting_names}
   {-control_args}
   prints a list of selected meetings and information about them.
list_requests {-control_args}, lr {-control_args}
   prints information about forum requests.
list_users {-control_args}, lsu {-control_args}
   prints information about specified participants in a meeting.
mail
   sends a transaction or set of transactions to other users, mailing
   lists, or forum meetings using the Multics mail system.
make_public, mp
   allows all users on the system access to the meeting.  (A chairman
   request only.)


next_meeting
   changes the current meeting to the next meeting in the list of
   changed meetings established by the check_meetings request.
print {trans_specs} {-control_args}, pr {trans_specs} {-control_args}
   prints selected transactions from a meeting.
qedx, qx
   invokes the qedx editor on the unprocessed transaction.
quit {-control_arg}, q {-control_arg}
   exits Forum.
rechain
   modifies a transaction chaining information.
remove_meeting
   removes meetings to the user's forum search list by deleting links
   to them from the directory >udd>Project>Person>meetings.
remove_participant NAME, rpt NAME
   denies the user permission to participate in the meeting.  (A
   chairman request only.)


remove_project NAME, rpj NAME
   denies users on a project permission to participate in the meeting.
   (A chairman request only.)
reply {trans_spec} {-control_args}, rp {trans_spec} {-control_args}
   enters/builds a new transaction in a meeting that has as its subject
   a reference to some other transaction in the form "Re:  <some other
   subject>", and which will be logically linked to the transaction
   specified by trans_spec.
reset {trans_spec} {-control_args}, rs {trans_spec} {-control_args}
   resets the user's current or highest-seen transaction index to the
   specified transaction. The highest transaction seen is only maintained
   for pre-MR11 version meetings.
retrieve trans_specs, rt trans_specs
   retrieves specified transactions that were previously deleted with
   the "delete" request.  Only the chairman or the author of the
   deleted transaction can use this request.


set_message {-control_args}
   sets a greeting message for the meeting.  The default action puts
   the user into input mode to specify the message.  (A chairman
   request only.)
subject {strings}, sj {strings}
   prints or modifies the subject of an unprocessed transaction.  If
   strings are supplied, they are catenated together to become the new
   subject.  If no strings are supplied, the current subject is
   printed.
subsystem_name
   prints the name of the subsystem ("forum").
subsystem_version
   prints the current version of Forum.


switch_off switch {-control_args}, swf switch {-control_args}
   turns off various Forum switches.  Switches are:

           adjourned, adj
           meeting_eligibility_messages, mtg_emsg
           notify, nt
           participating, part

switch_on switch {-control_args}, swn switch {-control_args}
   turns on various Forum switches.  Switches are:

           adjourned, adj
           meeting_eligibility_messages, mtg_emsg
           notify, nt
           participating, part


talk {-control_args}
   enters/builds a new transaction in a meeting.
ted
   invokes the ted editor on the unprocessed transaction.
unchain
   removes a transaction from its transaction chain.
unmake_public, ump
   allows only users granted explicit permission to participate in the
   meeting.  (A chairman request only.)
write {trans_specs} {-control_args}, w {trans_specs} {-control_args}
   writes selected transactions to a segment.


List of active requests:
[chairman {meeting_name}], [cm {meeting_name}]
   returns the Person_id.Project_id of meeting chairman.
[current_meeting {-control_args}], [cmtg {-control_args}]
   returns the name of the current meeting.
[do {request_string} {args}]
   returns expanded request string.
[exec_com PATH STRs], [ec PATH STRs]
   executes an exec_com segment containing forum requests.
[execute STRs], [e STRs]
   invokes Multics active function within forum request line.
[forum_dir], [fd]
   returns absolute pathname of central forum directory.


[if EXPR -then STR1 {-else STR2}]
   returns one of two character strings to the Forum request processor
   depending on the value of EXPR.  EXPR is the active string that must
   evaluate to either "true" or "false".  STR1 is returned if EXPR
   evaluates to "true".  STR2 is returned if EXPR evaluates to "false".
[list_meetings {-control_args}], [lsm {-control_args}]
   returns names of meetings that have new transactions.
[list_users {-control_args}], [lsu {-control_args}]
   return names of participants matching given conditions.
[next_meeting]
   returns the name of the next meeting in the list of changed meetings
   established by the check_meetings request.


[subject], [sj]
   returns the subject of an unprocessed transaction.
[subsystem_name]
   returns the name of the subsystem ("forum").
[subsystem_version]
   returns the current version of Forum.


Transaction specifiers:  Transaction specifiers identify transactions.
They are used as arguments to the forum requests that act on
transactions.  In addition, there are several requests and active
requests that return information about transaction numbers.


Notes on search list:  The forum command uses the "forum" search path.
For more information about search paths, see the descriptions of the
search facility commands in the Commands manual.
