Multics Technical Bulletin                             MTB 701-01

  To:        MTB Distribution

  From:      J.K.Blair

  Date:      01/28/86

  Subject:   Executive Mail, MR12 Extensions

                               ABSTRACT

  This  document discusses  the planned  extensions to  the Multics
  Executive Mail (xmail) product for  the MR12 release.  Some lines
  are 80 characters wide which may cause problems when printing.

  Version  01  is  a  re-issue  (with  change  bars) which reflects *
  corrections  to the original  and documents those  portions which
  will not be implemented for MR12.

  Comments may be made:

            Via forum on System-M:

                 >site>forum_dir>executive_mail (xmail)

            Via Multics mail:

                 Blair.Multics

            Via HVN telephone:

                 249-6863

  _________________________________________________________________

  Multics  Project  internal  working  documentation.   Not  to  be
  reproduced outside the Multics Project.


  Multics Technical Bulletin                             MTB 701-01

                               CONTENTS

       1.0  INTRODUCTION . . . . . . . . . . . . . . . . . .  1
       2.0  NEW FUNCTIONS. . . . . . . . . . . . . . . . . .  2
       2.1    Include More Printing Options. . . . . . . . .  2
       2.2    Read User's Messages in Another Mailbox. . . .  6
       2.3    Allow Selection of Messages by Date. . . . . .  8
       2.4    Include Original in Reply. . . . . . . . . . . 11
       2.5    File Original Before Reply . . . . . . . . . . 13
       3.0  IMPROVEMENTS TO EXISTING FUNCTIONS . . . . . . . 15
       3.1    Similar Msg Sending for Forward, Send, & Reply 15
       3.2    Create New Xmail Profile if Problem with Old . 16
       3.3    Summary of Function-Escape Sequences in Help . 17
       3.4    Display "Opening mailbox..." Message to User . 18
       3.5    Undelete Deleted Messages if Cleanup Exit. . . 19
       3.6    Information on Deferred Msgs in General Help . 20
       3.7    Modify "Do you wish to continue?" Message. . . 22
       3.8    More Informative Editor Help Display . . . . . 23
       3.9    Use Hypens to Delimit Bottom Window in Editor. 26
       3.10   Display General Help in Top Window . . . . . . 27
       4.0  INTEGRATION OF XSERVICES UTILITIES . . . . . . . 28
       4.1    Screen Management. . . . . . . . . . . . . . . 28
       4.2    Multics Mode . . . . . . . . . . . . . . . . . 28
       5.0  APPENDIX - MODIFIED MENUS. . . . . . . . . . . . 30
       5.1    MR12 Process Incoming Mail Menu. . . . . . . . 30
       5.2    MR12 Process Filed Mail Menu . . . . . . . . . 30
       5.3    MR12 Personalize Executive Mail Menus. . . . . 31
       5.4    MR12 General Help Topics Menu. . . . . . . . . 32


  Multics Technical Bulletin                             MTB 701-01

  1.0  INTRODUCTION

       Even though  Executive Mail has  been a product  for several
       releases,  new  improvements  and  suggestions  are actively
       requested and evaluated, as  well as reviewing previous ones
       that were not included in prior releases due to lack of time
       or resources.  Some of these  suggestions come from a desire
       to  incorporate more of  the functionality of  read_mail and
       send_mail.

       This MTB describes the  implementation of the most requested
       or suggested functions or improvements to the Executive Mail
       product,  while keeping  intact the  two major  goals of the
       original product:  ease of use and ease of learning.

       The release  of Executive Forum  as a product  geared to the
       same type of  users as Executive Mail, has  brought to light
       some inconsistencies and possible  improvements to the xmail
       product.   In addition, a  lot of duplicate  code had to  be
       generated in xforum which is now  being combined in a set of
       utilities  called Executive  Services.  The  object of using
       xservices is  to make the  user interface to  both xmail and
       xforum more consistant and easy to use.

       These  extensions to xmail  are presented under  three major
       topics:  new functions,  improvements to existing functions,
       and integration of xservices utilities.  Also included is an
       Appendix of the new and  modified menus resulting from these
       extensions.


  MTB 701-01                             Multics Technical Bulletin

  2.0  NEW FUNCTIONS

       The  following sections  describe the  proposed additions of
       new  functionality  to  the  Executive  Mail facility.  Each
       section  gives  the  problem  to  be  solved,  the  proposed
       solution, and the documentation for the solution.

  2.1  Include More Printing Options

  2.1.1  Problem

       It  has  been  suggested  that  the  Executive Mail facility
       include   more  printing    options.   Currently   only  the
       destination, header,  and station (request_type) may  be set
       in the personalization menu to control printing.  Users have
       requested that  xmail allow the  user to preset  and use the
       eor control argument settings,  use the defaults set outside
       of  xmail, or set  more options within  xmail.  Some of  the
       options  mentioned were:   -indent, -copy,  -notify, -forms,
       -non_edited, and -no_end_page.

       Also, users of  xmail have expressed a desire  to be queried
       before anything  is printed.  There  are a number  of places
       where printing  of files, messages  or mailing lists  can be
       requested,   and   in   one   instance,   where  xmail  will
       automatically  print messages if  a non-empty file  is being
       discarded.  Remote and infrequent users  may not have set up
       the printer  station and consequently, printing  may be done
       at a place other than the user's location.  Hitting the "4",
       which selects print  in some menus, instead of  the "F4" key
       to  exit  xmail,  can  cause  similar  problems  of unwanted
       printing.

  2.1.2  Solution

       The  ability to  set and  use all  the eor  control argument
       settings  is much  too complex  and not  easily used  by, or
       explained  to,  the  novice  user.   Likewise, using default
       settings  previously   set  from  outside  xmail   may  seem
       confusing.  In keeping with the  goals of xmail, ease of use
       and  learning, it is  more reasonable to  include additional
       options to the ones already set in xmail.

       Besides  adding options  similar to  eor control  arguments,
       another option will  be added to allow the  user to confirm,
       or  change  temporarily,  the   other  options  just  before
       printing.  A  list of the  currently set print  options will
       appear  with a  prompt to  ask if  changes need  to be made.
       This  will allow  users to  BREAK if  printing was requested
       accidently,  continue with  printing  as  is, or  change the
       printing options with a menu in the lower window.


  Multics Technical Bulletin                             MTB 701-01

       The  following  options  will  be  added  to the Personalize
       Executive Mail menu.  The respective eor control argument is
       only shown for relationship.

       1) Set Left Margin (-indent)
            Indenting was  the most requested option,  and hence an
            appropriate addition,  since xmail must  support 8-1/2"
            by 11"  as well as  larger paper.  Indenting  between 0
            and 20 spaces will be allowed, with 0 the default.

       2) Set Number Of Copies (-copy)
            Printing more than 1 copy  at a time seems a reasonable
            and very useful option to include.  From 1 to 30 copies
            will be allowed.  The default is 1.

       3) Notify After Printing (-notify)
            It seems reasonable for the user to want to be informed
            when printing  is finished.  This option can  be set to
            yes or no, with no the default.

       4) Confirm Print Options
            At all the places in  xmail where printing could occur,
            allow  the display of  the currently set  print options
            with the following prompt to the user to ask if changes
            need  to be  made.  This  option can  be set  to yes to
            receive  the  prompt,  or  no  to  just  print  without
            interruption.  Yes will be  the default so users always
            have a chance to abort printing.

               Do you wish to change any options before printing?

       These were chosen for  their simplicity and appropriateness.
       The  inclusion  of  options  for  -forms,  -no_end_page, and
       -non_edited were rejected because of possible user confusion
       and it  was not clear that  these would be often  used.  See
       the APPENDIX for the menus that were modified as a result of
       the additions.


  MTB 701-01                             Multics Technical Bulletin

  2.1.3 Documentation

  :Info: Set_Left_Margin:  Set Left Margin

        This option lets you set the left margin of the printed output by
  specifying the number of spaces you wish to indent the printing.  After
  selecting this option, the number of spaces currently indented is
  displayed, and you are asked to specify a new number.  You can enter
  any number from 0 to 20.  Remember to take into consideration the size
  of the paper being used when specifying a number.

  :Info: set_left_margin:

       Type a number, from 0 to 20, to specify how many spaces you wish
  to indent your printed output.  Conclude by typing a RETURN.  To retain
  the current margin, just type a RETURN by itself.

  :Info: Set_Number_Of_Copies: Set Number Of Copies

        This option lets you set the number of copies of printed output
  you wish to receive each time there is a request for printing.  After
  selecting this option, the number of copies currently specified is
  displayed, and you are asked to specify a new number.  You can enter
  any number from 1 to 30.

  :Info: set_number_of_copies:

       Type a number, from 1 to 30, to specify how many copies of printed
  output you wish to receive.  Conclude by typing a RETURN.  To retain
  the current number of copies, just type a RETURN by itself.

  :Info: Notify_After_Print: Notify After Print

       This option lets you specify if you wish to be notified when the
  system has printed your output.  Even though printing is requested, it
  may be some time before the printers can actually print the output.
  After selecting this option, you are asked to specify "yes" or "no".
  If you type "yes" you will receive an interactive message that printing
  has been done.  If you type "no", you will not receive a message.

  :Info: notify_after_print:

       Type "yes" if you want to receive an interactive message when
  printing is done.  Type "no" if you do not want a message. Conclude by
  typing a RETURN.  If you do not wish to change the way this option is
  currently set, just type a RETURN by itself.


  Multics Technical Bulletin                             MTB 701-01

  :Info: Confirm_Print_Options: Confirm Print Options

  This option lets you specify whether or not you wish to have an extra
  prompt appear to confirm print options before all printing requests.
  Printing can be requested by selection in the different menus or
  automatically when you discard a non-empty mail file.

  After selecting this option you are asked to specify "yes" or "no".
  If you set this option to "no", printing is done without any extra
  prompt.  If you set this option to "yes", the current print options
  will be listed every time printing is requested, plus a prompt will
  appear to ask if you want to temporarily change any of them before
  printing.  At that time you can press BREAK if you do not want to print
  at all,  answer no to continue printing with the options as they are
  set, or answer yes and change the options with a menu in the lower
  window.

  :Info: confirm_print_options:

       Type "yes" if you want to receive an extra prompt to confirm or
  change print options before any printing is done in Executive Mail.
  Type "no" if you do not want to receive an extra prompt before
  printing.  Conclude by typing a RETURN.  If you do not wish to change
  the way this option is currently set, just type a RETURN by itself.


  MTB 701-01                             Multics Technical Bulletin

  2.2  Read User's Messages in Another Mailbox

  2.2.1  Problem

       Executive  Mail should  allow users  to read  mailboxes that
       belong  to  other  people,  subject  to  the  mailbox access
       setting.  This  would allow the  user to select  a different
       mailbox, other than incoming or  one of the mail files, with
       the  capability  of  reading  or  deleting  the  user's  own
       messages in someone else's mailbox,  as well as just reading
       the  TR or MCR  mailboxes.  For example,  if a user  sends a
       message to the wrong person, there should be a way to delete
       that message  from the person's mailbox.  The  only way this
       can be  accomplished currently is  to leave xmail,  set up a
       link to  that mailbox with the suffix  "sv.mbx" and re-enter
       xmail.  The ability to read  other mailboxes is available in
       read_mail.

  2.2.2  Solution

       Allow the  user to enter a  person_id or mail table  name at
       the  following prompt, which  is displayed when  selecting a
       mail file to process.  That person's mailbox would be opened
       and available for processing in the Process Filed Mail menu.
       A message that there are no messages in the mailbox would be
       displayed  if there were  none that the  user had access  to
       read.  The  current prompt would remain the  same because of
       space on the line:

          Enter name of mail file you wish to process (or ?? for list)

       If the user answered the prompt with ??, or always displayed
       the  list of  mail files  as a  menu, another  option "<user
       mailbox>"  would be included  in the lower  menu.  Selecting
       this option would prompt for the person id:

          Enter user name of mailbox to be processed:

|      In the event that a mail file exists with the same name as a
|      person_id, the  file will be selected rather  than the other
|      person's  mailbox.    The  other  mailbox  would   still  be
|      accessible  by  selecting  the  "<user  mailbox>"  option as
|      described above or by typing in the pathname of the mailbox.

       Reading   another  mailbox   would  only   be  allowed  when
       processing  filed  mail.   This  functionality  would not be
       available  within  the  Review  Mail  File  menu.  Filing of
       messages into another person's mailbox would not be allowed,
       nor would the user be able  to discard messages in a mailbox
|      that  is read only,  for example the  TR mailbox.  The  user
|      would  be informed  if a  mailbox that  he selected  was not
|      available because of access.


  Multics Technical Bulletin                             MTB 701-01

       Provide  a new  menu option  labelled "User  Mailbox" in the
       General  Help   Topics  menu.   This  requires   some  minor
       modifications to allow the new  option as well as additional
       entries in the info segments to support the new option.

  2.2.3 Documentation

  :Info: User_Mailbox:  User Mailbox

       It is possible in Executive Mail to select another user's
  incoming mailbox to process when in the Process Filed Mail menu.  This
  allows you to read and delete messages that you have sent that user.
  It also allows you to read the messages in certain other mailboxes that
  are set up as "read only".  The options that are available in the menu
  depend on what access has been set for the mailbox selected.

      You may select a mailbox by entering a user name or the printed|
  representation of the mailbox, at the prompt for the mail file you|wish
  to process.  If you choose to have the list of files displayed as a|
  menu, you may select "<user mailbox>" and then enter a user name or| the
  pathname of a mailbox when you are prompted.                      |

  :Info: user_mailbox:

       Type the user name of the mailbox you wish to process.  It can be
  the name of a different user on the system, or the pathname of a sp|ecial
  mailbox set up on the system.


  MTB 701-01                             Multics Technical Bulletin

  2.3  Allow Selection of Messages by Date

  2.3.1  Problem

       Users of  Executive Mail can select messages  in the Process
       Incoming  Mail and  Process Filed  Mail menus  by individual
       numbers,  numeric ranges,  keywords, and  text searches.  It
       seems reasonable and appropriate to  also add the ability to
       select  by date  or range  of dates,  which is  available in
       read_mail.

  2.3.2  Solution

       When  choosing the Select  Messages option from  the Process
       Incoming Mail  or Process Filed Mail menus,  allow the word,
       "date", to be accepted in response to the prompt:

          Which message(s) do you wish to select?

       Include  internal  procedures  in  xmail_select_msgs_.pl1 to
       handle the  response of "date" similar to  "search".  If the
       user enters "date", the following two prompts are displayed:

          Earliest date in range:

          Latest date in range:

       Calls  to convert_date_to_binary_   will validate  the dates
       entered at the prompts, plus the times will be zeroed out so
       the  range will be  from the first  date at midnight  to the
       second  date at 23:59.   Those messages created  between the
       requested  dates become the  current messages.  If  only one
       date is entered at either prompt  and a null response at the
       other,  messages created on  that date at  any time will  be
       selected.   A null  response at  both prompts  will use  the
       current date.  The dates being  used to select messages will
       be displayed to the user as in the following example:

          Selecting messages from
            "02/01/85  00:00 mst" thru "02/28/85  23:59 mst"

       The user will be informed if there are no messages that meet
       that criteria.  Info segments will  also have to be modified
       to  include the addition  of date as  a valid selection,  as
       well  as adding  another option  to the  General Help Topics
       menu labelled "Date Selection".

  2.3.3 Documentation


  Multics Technical Bulletin                             MTB 701-01

  :Info:  Date_Selection:  Date Selection

       When you are selecting current messages with the Select Messages
  option, you can specify messages that were created on a certain date
  or between a range of dates.  To do this, type the word "date" when
  the Select Messages option asks which messages are to be made current.
  You are then prompted for the earliest date in the range and the latest
  date in the range.  When you enter a valid date at each prompt, all
  messages which were created between the first date at 00:00 thru the
  second date at 23:59 become the current messages.  Pressing RETURN at
  either prompt and entering a valid date at the other, selects all
  messages created on that date.  To select messages created on the
  current date, just press RETURN at both prompts.  Examples of dates:

  February 15, 1985             15 Feb 1985         02/15/1985
  2/15/85                       1985-02-15          85-2-15
  today                         yesterday           now

  :Info: date_selection:

       To select messages by date, type a date at the earliest date and
  the latest date prompts.  Conclude each entry by pressing RETURN.
  Messages created between those two dates become the current messages.
  If you want to select messages created on one date, enter that date at
  one prompt, and just press RETURN at the other prompt.  Pressing RETURN
  at both prompts will select messages created on the current date.
  Examples of dates:

  February 15, 1985             15 Feb 1985         02/15/1985
  2/15/85                       1985-02-15          85-2-15
  today                         yesterday           now

  :Info:  Selecting_Messages:  Selecting Messages

       After entering the Process Incoming Mail and Process Filed Mail
  menus, you can change the current message by using the options Next
  Message and Select Messages.  For example, suppose you have just
  entered Process Incoming Mail and want to make message number 5 the
  current message.  Because you have just entered this menu, the current
  message is message 1.  So you choose the Select Messages option, and
  you are asked which messages you would like to make current.  You can
  supply several numbers here, each separated from the others by blanks,
  and have several current messages at the same time, but since you want
  just message number 5, you type 5.  Message number 5 becomes the
  current message and is listed on your screen.

       Suppose that you then want to make message number 6 the current
  message.  You could accomplish this simply by selecting the Next
  Message option.  If, however, message number 5 is the highest numbered
  message when you select this option, message number 1 becomes the
  current message and is listed automatically.


  MTB 701-01                             Multics Technical Bulletin

       You may also select messages in Process Incoming Mail and Process
  Filed Mail by responding with the word "search" when asked which
  messages to make current.  For a further explanation of how to do this,
  read the "Searching Messages" option listed in the menu from which you
  selected the information you are reading now.

       You may also select messages in Process Incoming Mail and Process
  Filed Mail by responding with the word "date" when asked which
  messages to make current.  For a further explanation of how to do this,
  read the "Date Selection" option listed in the menu from which you
  selected the information you are reading now.

       After messages are selected, an automatic listing of the current
  messages are displayed.

  :Info:  Specifying_Ranges:  Specifying Ranges

       To select a range of message numbers, you can type the lowest and
  highest message numbers of the range, rather than type each number in
  the range.  For example:

       2:5

  The first number must be less than the second number.  You can also use
  the keyword "first" instead of the first number, and you can use the
  keyword "last" in place of the second number, though you cannot use
  both of these keywords together, such as in the expression
  "first:last."

       If you use the Next Message option while there is a range of
  current messages specified, the current message becomes the message
  after the highest numbered current message.

       To select a range of dates, you can type the word "date" and be
  prompted for the earliest date and the latest date in the range.  The
  first date must be earlier than the second date.

  :Info:  which_message:

       Specify the message(s) you want by typing a single number, several
  numbers separated by blank spaces, a range of numbers, a keyword
  (first, next, prev, new, last, all), the word "search" or the word
  "date".  If you type the word "search," you then are asked to supply a
  word, words, or part of a word that you want to be searched for in the
  headings and texts of all the messages in the current mailbox.  All the
  messages in which those search characters are found become the current
  messages.  Typing "date" prompts you for two dates, and all messages
  created between those two dates become the current messages.  To get a
  list of your messages, type two question marks (??).  Conclude by
  pressing RETURN (or the equivalent of carriage return on your keyboard).


  Multics Technical Bulletin                             MTB 701-01

  2.4  Include Original in Reply

  2.4.1  Problem

       A  number  of  users  would  like  the  functionality of the
       -include_original  control  argument  of  reply  as  used in
       read_mail.  This is needed when the message being replied to
       is  outdated or  the subject  line contains  no intellegible
       information.   It is  also needed  when the  person replying
       wishes  to answer with  a very short  reply, such as  "yes",
       which contains little information unless the subject line is
       well written.   The ability to edit the  original within the
       reply as well as include it is also required.

  2.4.2  Solution

       For MR12, a new option, "Include Original In Reply", will be
       added to the personalization menu.  The option will have the
       values  of "yes", "no"  or "ask".  The  value of "yes"  will
       always include the original messsage in the reply, while the
       value of "ask"  will prompt the user if  the original should
       be included  before entering the editor.  The  value of "no" |
       will not include the original message.                       |
                                                                    |
       Independent of whether or not the original is to be included |
       in  the  reply,  a  second  option  is  available to specify |
       whether or not  the original will be displayed  in a viewing |
       segment above the reply.  This option will have the value of |
       "yes" or  "no".  The value  of "yes", which  is the default, |
       will cause  the original to  be displayed in  a buffer above |
       the  window  where  the  reply  is  being  edited.   This is |
       consistent  with the  current behavior.   The value  of "no" |
       will cause  the top buffer  to be suppressed  and will allow |
       more room  for editing.  This second option  does not appear |
       on  the personalization  menu and  is accessable  only after |
       responding to the "Include Original in Reply" option.        |
                                                                    |
       By  making  "Include  Original  in  Reply" a personalization |
       option,  no new  editor requests  need to  be added  and for |
       users  who always  include the  original, no  extra requests |
       need  be  issued.   However,  users  who  answered  "yes" to |
       including the original would have  to delete the original if |
       they  did not  want it  in a  particular reply,  or answer a
       query each time  they entered reply when the  option was set
       to ask.

  2.4.3 Documentation

  :Info:  Include_Original_In_Reply: Include Original In Reply

       This option lets you specify whether or not you want original
  messages to be included in your replies, allowing you to edit them.


  MTB 701-01                             Multics Technical Bulletin

  After selecting this option, you are asked to specify "yes", "no", or
  "ask".  If you type "yes", the original message will always be included
  in your reply.  If you type "no", the original message will not be
  included.  If you type "ask", every time you reply you will be asked
  if you wish to include the original message in the reply.

  :Info: include_original_in_reply:

       Type one of the following three words in order to specify if you
  want to include the original messages in your replies.

       yes     original messages are automatically included in your
                 replies and can be edited
       no      original messages are not included in your replies
       ask     you are asked every time you reply to a message if you
                  want the original message included

  Conclude by typing a RETURN.  If you do not want to change this option,
  type a RETURN by itself.

| :Info: original_in_upper_window:
|
|      Type one of the following two words to specify whether or not you
| want to have the original message to which you are replying displayed
| in the upper window.
|
|      yes     original messages are automatically displayed in
|                the upper window
|      no      original messages are not displayed in the upper window
|                and the full screen is available for editing the reply
|
| Conclude by typing a RETURN.  If you do not want to change this option,
| type a RETURN by itself.


  Multics Technical Bulletin                             MTB 701-01

  2.5  File Original Before Reply

  2.5.1  Problem

       Requests have been  made for a new option  in Executive Mail
       that would file  a copy of the original message  into a mail
       file  just prior  to sending  a reply.   This would  help to
       preserve  the order  in which  messages got  sent and  would
       prevent users from having to  remember to save a copy before
       they reply.

  2.5.2  Solution

       Add  another  option  "File  Original  Before  Reply" to the
       Personalize  Executive   Mail  menu,  which  will   work  in
       conjunction with the "Save Outgoing Messages" option already
       in xmail.   The option will  have values of  "yes", "no", or
       "ask", with  "no" as the default for  compatibility with the
       current behavior.   When the value  of the option  is set to
       "yes",  the  original  message  will  be automatically filed
       before the reply, if the  reply is being saved.  Setting the
       option to "no"  will skip filing the original,  and to "ask"
       will prompt the  user each time to determine  if original is
       to be  filed.  This prompt will  only appear if the  user is
       saving the reply.   Both the original and the  reply will be
       saved in the same file, as specified by "Outgoing Savefile".

       This requires additional documentation  in the info segments
       to support the new option.

  2.5.3 Documentation

  :Info: File_Original_Before_Reply: File Original Before Reply

       This option lets you specify whether or not you want original
  messages filed immediately before replies, if you are saving replies.
  After selecting this option, you are asked to specify "yes", "no", or
  "ask".  If you type "yes", the original message will always be filed
  in the same mail file immediately before the reply you are saving.
  However, if you are not saving the reply, the original will not be
  filed.  If you type "no", the original message will not be filed.  If
  you type "ask", you will be asked if you wish to file the original
  message before the reply, each time you save a reply.


  MTB 701-01                             Multics Technical Bulletin

  :Info: file_original_before_reply:

       Type one of the following three words in order to specify if you
  want original messages filed before replies.

       yes     original messages are automatically filed immediately
                 before replies in the same mail file, if replies saved
       no      original messages are not filed before replies
       ask     you are asked every time you save a reply if you want the
                 original message filed first.

  Conclude by typing a RETURN.  If you do not want to change this option,
  type a RETURN by itself.


  Multics Technical Bulletin                             MTB 701-01

  3.0  IMPROVEMENTS TO EXISTING FUNCTIONS

       The following sections describe the proposed improvements to
       existing  functions of  the Executive  Mail facility.   Each
       section  gives  the  problem  to  be  solved,  the  proposed
       solution, and the documentation for the solution.

  3.1  Similar Msg Sending for Forward, Send, & Reply

  3.1.1  Problem

       Send, Reply, and Forward mail are not consistant in behavior
       or messages  to the user when  there is a problem  in filing
       mail after leaving the editor.  The user is never quite sure
       if the  mail was actually sent  or not.  In Send  and Reply,
       the mail is sent before an attempt to file the mail is made.
       If there is  a problem with filing, the message  to the user
       from Send  and Reply are different  and confusing.  However,
       in  Forward, the  attempt to  file the  mail is  made before
       sending, so the mail is neither sent nor filed, and the lack
       of a message is confusing.  It  seems to make more sense for
       Forwarding to have  the same behavior as Send  and Reply, so
       that if  there is a  problem with filing,  xmail still sends
       the mail.  Also, the user  messages should be consistant.  A
       message that  the mail was  sent should be  displayed before
       the query to file (or the automatic filing is done).

  3.1.2  Solution

       Generalize  the following  sequenced functions  in all three
       modules  by extracting  the code   and combining  it into  a
       separate  module  so  there  are  no  duplications  and  the
       behavior remains consistant.

       1)  Check for acknowledgement.

       2)  Deliver mail.
           a. If error, display message and return to menu.

       3)  Display message that mail was delivered.

       4)  Check for filing.

       5)  Display message that mail was filed.
           a. If error, display message and attempt to loop so copy
              is not lost if possible.

  3.1.3  Documentation

       There  are  no  documentation   changes  needed  since  this
       behavior should be consistant now.


  MTB 701-01                             Multics Technical Bulletin

  3.2  Create New Xmail Profile if Problem with Old

  3.2.1  Problem

       The Executive Mail profile, xmail.value,  is used by many of
       the xmail  modules, especially for  personalization options.
       If for  some reason, this  segment contained garbage  or was
       otherwise not available for use,  users would not be able to
       continue in  xmail.  The suggestion was made  to allow xmail
       to create a new profile if  a problem did occur with the old
       one.   The user  would have   to be  informed and  re-do the
       personalization options in this case because the new profile
       could only set up the regular defaults.

  3.2.2  Solution

       When  a problem  in the  xmail.value segment  is detected, a
       message to the user will be displayed relating that the file
       is  bad, it  is being  recreated with  the defaults,  and to
       please  reenter  personalization  options  again.   The  old
       xmail.value will  be deleted and  the error will  be logged.
       If  the user  only has   status access  on the  directory, a
       message will  appear that because of access  problems, a new
       profile could  not be created and defaults  from an internal
       static  structure would   be used.   Personalization options
       could then only be changed temporarily.

       A separate module to implement this function will be created
       so it can be called from the modules using the profile.  The
       most  probable time  of failure  would be  on first entering
       xmail,  as  something  could  have  happened  to the segment
       between invocations.  The ability to recreate the profile or
       use a  default static structure, however,  will be available
       whenever a problem is detected so processing is not aborted.

  3.2.3  Documentation

       There   are  no   documentation  changes   needed  for  this
       modification.


  Multics Technical Bulletin                             MTB 701-01

  3.3  Summary of Function-Escape Keys in Help

  3.3.1  Problem

       Executive Mail should supply  better information on function
       key and escape  sequences.  There is no easy way  to get the
       mappings  between function  keys and  the associated  "ESCx"
       sequences.  The information is in  the info segments, but is
       buried in the help for F1.   The help files are so geared to
       terminals with function keys, it is difficult to see the ESC
       equivalents.   A short summary  of function keys  and escape
       sequences in general help would make using ESC much easier.

  3.3.2  Solution

       Provide   a   new   menu   option   labelled   "Summary   of
       Function-Escape Keys"  in the General Help  Topics menu that
       is displayed when the user types "??"  in response to prompt
       during help request.  This requires  a new entry in the info
       segment as well as some minor modifications to allow the new
       option.

  3.3.3 Documentation

  :Info: Summary_of_Function-Escape_Keys: Summary of Function-Escape Keys

       F1 (ESC ?)    help with menu options, function keys, or general items
       F2 (ESC f)    return to the first menu: Executive Mail
       F3 (ESC p)    return to the previous menu
       F4 (ESC q)    quit the Executive Mail facility
       F5 (ESC r)    redisplay the menu or menus on the screen
       F6 (ESC l)    look at a previous portion of a list on the screen
       F7 (ESC h)    look at the next portion of a list on the screen
       F8 (ESC e)    to execute a Multics command while in xmail if the
                     personalize option "Multics Command Mode" is set to yes


  MTB 701-01                             Multics Technical Bulletin

| 3.4  Display Message to User When Selecting File

  3.4.1  Problem

       When filing  mail or selecting  a mailbox for  processing in
|      Executive  Mail  (Review  Mail  Files  option),  the  cursor
       remains  at the  prompt, or   in the  case of  automatically
       displaying lists as menus, at the lower menu option.  If the
       file is large  and opening takes a long time,  the user does
       not know if anything is happening.  A suggestion was made to
       display a  message to the  user that the  mailbox or mailing
       list was being opened.

|      Example:
|          The "foo" file has been selected.

  3.4.2  Solution

|      Just  before the  call to  open a  mailbox while  processing
|      filed mail,  add a call to  ioa_ to display "The  "foo" file
|      has been selected..."  on the screen.

  3.4.3  Documentation

       There   are  no   documentation  changes   needed  for  this
       modification.


  Multics Technical Bulletin                             MTB 701-01

  3.5  Undelete Deleted Messages if Cleanup Exit

  3.5.1  Problem

       Executive  mail does  not immediately  delete messages  that
       have  been discarded  during  processing  of a  mailbox.  It
       instead  marks the  messages for  deletion, and  will delete
       them on  finishing with the mailbox.   This makes retrieving
       possible.   If  messages  are  marked  for  deletion  during
       processing and a cleanup  condition occurs, the messages are
       deleted without giving the user a chance to undelete them.

  3.5.2  Solution

       Do not delete messages that have been marked for deletion if
       exiting because of a cleanup condition.  Instead, remove the
       delete flag from the messages.

  3.5.3  Documentation

       There   are  no   documentation  changes   needed  for  this
       modification.


  MTB 701-01                             Multics Technical Bulletin

  3.6  Information on Deferred Msgs in General Help

  3.6.1  Problem

       It is not obvious to first-time or novice users of Executive
       Mail  how  to  get  back  and  send  a  reply  that has been
       deferred.   More information  about the  different kinds  of
       deferred messages should be  made available and more readily
       accessible.  Suggestions  have been made to  include another
       option in  the General Help  Topics menu that  describes all
       aspects of  deferred messages, including how  and where they
       can be  used.  Other suggestions  have been made  that would
       change the way xmail deals with deferred replies:

       1)  Include other options  on the menu  which allow user  to
       send  and discard  deferred replies,  such as  with deferred
       messages in Send Mail menu.

       2)  Immediately delete  deferred  reply  if user  chooses to
       delete it, not wait until reply is finished.

  3.6.2  Solution

       For MR12, a new option in  the General Help Topics menu will
       be available  called "Deferred Messages".  It  will describe
       the  differences between  deferred replies  and deferred new
       messages.  This requires new entries in the info segments as
       well as some minor modifications to allow the new option.

|      When a user chooses to delete a deferred reply, the deferred
|      reply will be marked for deletion  in such a way as to force
|      the deferred reply to be deleted during a cleanup situation.
|      This is the  case where the user types "break"  to exit from
|      the reply  sequence which follows the prompt  for whether or
|      not the deferred reply should be discarded.  At present, the
|      deferred  reply still  exists after  the user  breaks out of
|      reply  even  though  the  choice  was  made  to  discard the
|      deferred reply.

  3.6.3 Documentation

  :Info: Deferred_Messages: Deferred Messages

       There are two types of deferred messages, new messages that have
  been deferred while editing in the Send Mail menu, and replies to
  messages that have been deferred while editing in either the Process
  Incoming Mail or Process Filed Mail menus.  The "ESC t" sequence in the
  editor is used to defer messages.
       New messages that have been deferred while editing can be given a
  name and used later on by options in the Send Mail menu.
       Deferred replies, however, are linked to one particular message.
  After the deferred reply is saved, it is automatically available to you


  Multics Technical Bulletin                             MTB 701-01

  when you try to reply to the message again.  A prompt will appear
  before entering the editor to ask if you wish to use the deferred reply.
  At that time you can use the deferred reply, not use it, or delete it.
  If a deferred reply is not used within 30 days, a message will appear
  when you exit executive mail to ask if you wish to review it.  This
  allows you to delete or just review the deferred reply.


  MTB 701-01                             Multics Technical Bulletin

  3.7  Modify "Do you wish to continue?"  Message

  3.7.1  Problem

       There have  been recommendations to change  the message that
       is  displayed  on  the  screen  when  the  user first enters
       Executive Mail and there is no mail in the incoming mailbox.

          You have no messages in the "incoming" mailbox.
          Do you wish to continue? (y/n)

       For some  users, it is unclear  from the second line  of the
       message if the user is being  asked to continue in the xmail
       subsystem,  or to  continue on   to Multics  (as opposed  to
       quitting  entirely).  A  clearer message  would certainly be
       appropriate  and easy enough  to change.  Other  users would
       rather not see  the question at all, and  elimination of the
       entire query by adding another option to the personalization
       menu has been suggested.

  3.7.2  Solution

       In the xmail.pl1 module, modify the call to ioa_ to display:

          You have no messages in the "incoming" mailbox.
          Do you still wish to enter executive_mail?

       This is  a very minor change.   There is no need  to include
       the  "(y/n)",  as  the  query  is  straightforward  and MR12
       changes  to command_query_,  which this  module uses,  allow
       case insensitive yes, y, no, or n.  Adding another option to
       the Personalize  Executive Mail menu to  eliminate the query
       entirely is not planned at this time.

  3.7.3  Documentation

       There   are  no   documentation  changes   needed  for  this
       modification.


  Multics Technical Bulletin                             MTB 701-01

  3.8  More Informative Editor Help Display

  3.8.1  Problem

       There have  been several suggestions  on how to  improve the
       display of  help while in  the Executive Mail  editor.  When
       ESC  ?  is  used in  the editor  and the  requested help  is
       displayed, xmail stops to let the user read the information.
       What is not included in that  display, and should be, is how
       to get back to editing.  Pressing any key will redisplay the
       user's  edited  message,  but,  depending  on  the key, will
       actually perform the key's function.   A novice user may not
       be  able to  find out  how to  get back  to editing  without
       causing  side   effects.   A  no-op  control   sequence  was
       suggested so  the editing is  not disturbed.  This  has been
       documented in  the regular info files, but  is not available
       when in the editor.

       The other  suggestions come from  objections to "E"  and "C"
       being substituted for "ESC" and  "CTL" in the entire list of
       editor commands.  The info segments  use the "ESC" and "CTL"
       notation  for the escape  key and control  key respectively,
       but the editor  help summary uses "E" and "C",  which can be
       confusing.  The  notations should be consistant  in all help
       files.

  3.8.2  Solution

       Modify  the  last  line  of  help  display  in the editor to
       include the  control sequence "CTL g" to  exit help.  Modify
       all  the editor help  summaries to use  the "ESC" and  "CTL"
       notation.


  MTB 701-01                                            Multics Technical Bulletin

  3.8.3 Documentation

  New editor help summaries:

| 1) Minibuffer mode summary
|
| (ESC x = press escape key then press x;  BS = BACKSPACE = CTL h;
|  CTL x = CTRL x = hold CONTROL key down while pressing x)
| @:    Erase to Start of Line   CTLf:  Forward Char           ESCd: Erase Word
| BS:   Backward Erase Char      CTLg:  Exit Help              ESCf: Forward Word
| CTLa: Start of Line            CTLk:  Erase to End of Line   ESCr: Redisplay
| CTLb: Backward Char            CTLy:  Retrieve Erased Text
| CTLd: Erase Char               ESC?:  Editor Help
| CTLe: End of Line              ESCb:  Backward Word
|                                ESCBS: Backward Erase Word
|
| 2) Header summary
|
| (ESCx = press escape key then press x;  BS = BACKSPACE = CTLh;
|  CTLx = CTRLx = hold CONTROL key down while pressing x)
| @: Erase to Start of Line CTLg: Exit Help            ESCb:  Backward Word
| BS: Backward Erase Char   CTLk: Erase to End of Line ESCBS: Backward Erase Word
| CTLa: Start of Line       CTLp: Previous Line        ESCn:  Next Screen
| CTLb: Backward Char       CTLy: Retrieve Erased Text ESCp:  Previous Screen
| CTLd: Erase Char          ESC<: Start of Header      ESCq:  Update Header Info
| CTLe: End of Line         ESC>: End of Header        ESCr:  Redisplay
| CTLf: Forward Char        ESC?: Editor Help
|
| 3) Send mode and send deferred mode summary
|
| (ESCx = press escape key then press x;  BS = BACKSPACE = CTLh;
|  CTLx = CTRLx = hold CONTROL key down while pressing x)
| @:  Erase to Start of Line  CTLn: Next Line             ESCf: Forward Word
| BS:   Backward Erase Char   CTLp: Previous Line         ESCg: Get File
| CTLa: Start of Line         CTLy: Retrieve Erased Text  ESCm: Adjust Paragraph
| CTLb: Backward Char         ESC?: Editor Help           ESCn: Next Screen
| CTLd: Erase Char            ESC<: Start of Message      ESCp: Previous Screen
| CTLe: End of Line           ESC>: End of Message        ESCq: Send Message
| CTLf: Forward Char          ESCb: Backward Word         ESCr: Redisplay
| CTLg: Exit Help             ESCBS: Backward Erase Word  ESCt: Defer Message
| CTLk: Erase to End of Line  ESCd: Erase Word            ESCu: Change Subject or
|                                                               Recipients


  Multics Technical Bulletin                                            MTB 701-01

  4) Reply mode summary                                                            |
                                                                                   |
  (ESCx = press escape key then press x;  BS = BACKSPACE = CTLh;                   |
   CTLx = CTRLx = hold CONTROL key down while pressing x)                          |
  @: Erase to Start of Line   CTLp: Previous Line         ESCh: Next Message Page  |
  BS: Backward Erase Char     CTLy: Retrieve Erased Text  ESCl: Previous Msg Page  |
  CTLa: Start of Line         ESC?: Editor Help           ESCm: Adjust Paragraph   |
  CTLb: Backward Line         ESC<: Start of Reply        ESCn: Next Screen        |
  CTLd: Erase Char            ESC>: End of Reply          ESCp: Previous Screen    |
  CTLe: End of Line           ESCb: Backward Word         ESCq: Send Reply         |
  CTLf: Forward Char          ESCBS: Backward Erase Word  ESCr: Redisplay          |
  CTLg: Exit Help             ESCd: Erase Word            ESCt: Defer Reply        |
  CTLk: Erase to End of Line  ESCf: Forward Word          ESCu: Change Recipients  |
  CTLn: Next Line             ESCg: Get File                                       |
                                                                                   |
  5) Forward mode summary                                                          |
                                                                                   |
  (ESCx = press escape key then press x;  BS = BACKSPACE = CTLh;                   |
   CTLx = CTRLx = hold CONTROL key down while pressing x)                          |
  @:    Erase to Start of Line   CTLf: Forward Char          ESCBS: Backward       |
  BS:   Backward Erase Char      CTLg: Exit Help                    Erase Word     |
  CTLa: Start of Line            CTLk: Erase to End of Line  ESCd:  Erase Word     |
  CTLb: Backward Char            CTLy: Retrieve Erased Text  ESCf:  Forward Word   |
  CTLd: Erase Char               ESC?: Editor Help           ESCr:  Redisplay      |
  CTLe: End of Line              ESCb: Backward Word                               |
                                                                                   |
  6) Mailing lists                                                                 |
                                                                                   |
  (ESCx = press escape key then press x;  BS = BACKSPACE = CTLh;                   |
   CTLx = CTRLx = hold CONTROL key down while pressing x)                          |
  @:  Erase to Start of Line CTLn: Next Line             ESCd: Erase Word          |
  BS: Backward Erase Char    CTLp: Previous Line         ESCf: Forward Word        |
  CTLa: Start of Line        CTLy: Retrieve Erased Text  ESCn: Next Screen         |
  CTLb: Backward Char        ESC<: Start of Mailing List ESCp: Previous Screen     |
  CTLd: Erase Char           ESC>: End of Mailing List   ESCq: Finished with       |
  CTLe: End of Line          ESC?: Editor Help                 Mailing List        |
  CTLf: Forward Char         ESCb: Backward Word         ESCr: Redisplay           |
  CTLg: Exit Help            ESCBS: Backward Erase Word  ESCu: Find Bad Addresses  |
  CTLk: Erase to End of Line                                                       |


  MTB 701-01                             Multics Technical Bulletin

  3.9  Use Hypens to Delimit Bottom Window in Editor

  3.9.1  Problem

       In  Executive Mail, while  typing in a  message, there is  a
       blank line between the last typed line visible on the screen
       and  the help-type  information at  the bottom.   This blank
       line makes users  suspect that there may be  two blank lines
       between paragraphs  rather than one.  A  suggestion was made
       to replace the blank line  with hypens so the editing window
       is more clearly defined.

  3.9.2  Solution

|      Change the value of the mode line being displayed from blank
|      to hyphens.

  3.9.3  Documentation

       There   are  no   documentation  changes   needed  for  this
       modification.


  Multics Technical Bulletin                             MTB 701-01

  3.10  Display General Help in Top Window

  3.10.1 Problem

       The General Help Topics menu  currently appears in the lower
       window  when the user  types "??"  in  response to a  prompt
       during request for help.  With  the increase in size because
       of additional options  to this menu, plus the  fact that the
       menu disappears  during the display of  each individual help
       option,  it  was  suggested  that  general  help  should  be
       displayed like a regular menu at the top of the screen.

  3.10.2 Solution

       Display the  General Help Topics menu as  a separate screen. |
       The  previous  menu  is  replaced  when  the  user exits the |
       General  Help  Topics  menu.   Include  all  the new options |
       described in  this MTB document.   The text from  a selected |
       help option  is displayed below  the menu with  the standard |
       more-mode processing.                                        |

  3.10.3 Documentation

       See  the  APPENDIX  at  the  end  of  this  document for the
       modified menu.


  MTB 701-01                             Multics Technical Bulletin

  4.0  INTEGRATION OF XSERVICES UTILITIES

|      **** Integration of Xservice utilities is not being done for MR12.  ****
|      **** The following text is being left as documentation for a future ****
|      **** release.                                                       ****

       The set  of generalized utilities called  Executive Services
       are  being  created  to  eliminate  duplicate  code  and  to
       standardize,  as much  as  possible,  the user  interface to
       Executive Mail and Executive  Forum.  The following sections
       describe the changes that will  be visible to the xmail user
       as a result of using these common utilities.

  4.1  Screen Management

       Executive  Mail modules will  be modified to  call xservices
       entrypoints   to  do   screen  management.    The  following
       descriptions  are  the  user  visible  changes  that will be
       implemented.

       1) Help Line

            Xmail will display  the help line at the  bottom of the
            screen similar to xforum.   More function key or escape
            sequence  information will  be present  instead of just
            the current  display of "(for help Press  F1)" or "(for
            help press ESC ?)".  The ways  to quit, get help, go to
            first or previous menus will be more obvious.

       2)  Status Line

            Because the help line is currently a part of the status
            line and will  now be a separate line at  the bottom of
            the screen,  the previous "Current Messages"  line will
            be  incorporated into the  new status line.   This will
            limit the  display of current message  numbers, but not
            to any great degree.  The status line will still remain
            above the menu.  See the modified menus in the APPENDIX
            of this document.

       3)  Opening and Closing Message

            There  will  be  messages  displayed,  similar  to  the
            messages seen during xforum,  when starting and leaving
            xmail.


  Multics Technical Bulletin                             MTB 701-01

  4.2  Multics Mode

       Executive Mail  will use the  same Multics mode  behavior as
       Executive Forum.  Xforum contains its own primitive listener
       for multics mode so the user should never have a stack level
       pushed.   The   conditions  command_question,  command_error
       finish,  and stringsize  are handled  by calling  the system
       handler  to ensure  the  user  stays within  the "listener".
       Keeping xmail  and xforum in  charge of user  commands gives
       the user a very simple way to return to the menus.  All that
       is  required is  that the  user enter  a null  command line.
       This is  better than issuing  a "pi" command  which does not
       work  in all  cases, i.e.,   the user  quits out  of another
       subsystem with a "pi" handler.


  MTB 701-01                             Multics Technical Bulletin

  5.0  APPENDIX - MODIFIED MENUS

       With the above proposed extensions, new and modified options
       require the modifications of  the menus within the Executive
       Mail Facility.   The new menus  are presented with  notes on
       major modifications.

  5.1  MR12 Process Incoming Mail Menu

  Mailbox: incoming            Current messages: 1           Total messages: 1
  --------------------------- Process Incoming Mail ---------------------------
   (1) Display             (6) Select Messages        (b) File Copy
   (2) Reply               (7) List Current Messages  (c) Print
   (3) File Original       (8) List All Messages      (d) Write
   (4) Discard             (9) Forward                (e) Process Filed Mail
   (5) Next Message        (a) Retrieve Messages      (f) Send Mail
  -----------------------------------------------------------------------------

  5.2  MR12 Process Filed Mail Menu

  File: outgoing                Current messages: 1          Total messages: 1
  ----------------------------- Process Filed Mail ----------------------------
   (1) Display              (6) Select Messages       (b) File Copy
   (2) Reply                (7) List Current Messages (c) Print
   (3) File Original        (8) List All Messages     (d) Write
   (4) Discard              (9) Forward               (e) Select New File
   (5) Next Message         (a) Retrieve Messages
  -----------------------------------------------------------------------------


  Multics Technical Bulletin                             MTB 701-01

  5.3  MR12 Personalize Executive Mail Menus

       The  Personalize Executive  Mail menu  needs modification to
       include the new options described  in this MTB document.  If
       the menu remained as one menu  with just the addition of the
       new  options, it  would become  too large  and unwieldy;  no
       longer easy to read or  use.  To make personalization easier
       for the user, the menu has been reorganized into one smaller
       menu plus  three new menus.  The  Personalize Executive Mail
       menu  has just  three options.   Each of  those options will
       take the  user to the three new  menus where personalization
       can be done.

  ------------------------------- Personalize ---------------------------------
                                 Executive Mail
   (1) Printing Options                   (3) Processing Options
   (2) Outgoing Message Options
  -----------------------------------------------------------------------------

  ---------------------------- Personalization of -----------------------------
                                Printing Options
   (1) Set Header                         (5) Set Number of Copies
   (2) Set Destination                    (6) Notify After Printing
   (3) Set Station                        (7) Confirm Print Options
   (4) Set Left Margin
  -----------------------------------------------------------------------------

  ---------------------------- Personalization of -----------------------------
                            Outgoing Message Options
   (1) Message Acknowledgment             (4) Set Full Name
   (2) Save Outgoing Messages             (5) Include Original In Reply
   (3) Set Outgoing Savefile              (6) File Original Before Reply
  -----------------------------------------------------------------------------

  ---------------------------- Personalization of -----------------------------
                               Processing Options
   (1) Process Interactive Messages       (4) Always Use Escape Sequences
   (2) Display Lists As Menus             (5) Multics Command Mode
   (3) Remove Menu While Editing
  -----------------------------------------------------------------------------


  MTB 701-01                             Multics Technical Bulletin

  5.4  MR12 General Help Topics Menu

  ------------------------------- General Help -------------------------------
                                     Topics
   (1) Exiting Executive Mail             (c) Current Messages
   (2) Function Keys                      (d) Selecting Messages
   (3) Summary of Function-Escape Keys    (e) Keywords
   (4) Help With a Prompt                 (f) Specifying Ranges
   (5) Editing Mail                       (g) Searching Messages
   (6) Summary of Editor Requests         (h) Date Selection
   (7) Retrieving Erased Text             (i) Scrolling
   (8) Right Margins                      (j) User Names
   (9) BREAK Key                          (k) Deferred Messages
|  (a) Mail Files                         (l) <Executive Mail>
   (b) User Mailbox
  -----------------------------------------------------------------------------