Multics Technical Bulletin                                MTB 658

To:        MTB Distribution

From:      David J.  Schimke

Date:      06/04/84

Subject:   Executive Mail, MR11 Extensions

ABSTRACT

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

The Xmail user community has provided feedback on the limitations
and  missing  features  of   the  Xmail  product.   The  proposed
extensions are an attempt to provide  some of the most wanted new
features and functionality within the major goals of the product,
namely ease of use and ease of learning.

The extensions to the Xmail  product are grouped into three major
categories:   new personalization  options, new  editor features,
and miscellaneous other extensions.

Comments may be made:

     Via forum (method of choice):
                    >udd>m>djs>mtgs>xmail

     Via electronic mail:
                    Schimke.Multics

     Via telephone:
                    862-6640
                    HVN:  357-6640

_________________________________________________________________

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


Multics Technical Bulletin                                MTB 658

                            CONTENTS

       1.0  INTRODUCTION. . . . . . . . . . . . . . . .  1
       2.0  NEW PERSONALIZATION OPTIONS . . . . . . . .  2
       2.1  Improve Support For Interactive Messages. .  2
       2.2  Destroy The Menu Window . . . . . . . . . .  4
       2.3  Allow Escape Sequences To Be Used . . . . .  6
       2.4  Savebox Option. . . . . . . . . . . . . . .  7
       2.5  Automatic Dynamic Menus . . . . . . . . . . 10
       2.6  Multics Command Mode. . . . . . . . . . . . 12
       3.0  NEW EDITOR FEATURES . . . . . . . . . . . . 14
       3.1  Support For "ESC ?" . . . . . . . . . . . . 14
       3.2  Insert File Capability. . . . . . . . . . . 16
       3.3  Go To Start/End Of Text . . . . . . . . . . 17
       4.0  OTHER MISCELLANEOUS EXTENSIONS. . . . . . . 18
       4.1  Non-Case-Sensitive Escape Sequences . . . . 18
       4.2  Support For Blind Carbon Copies . . . . . . 19
       4.3  Allow Writing Of A Message To A Segment . . 20
       4.4  Automatically List Current Messages . . . . 21
       4.5  Three Column Menus. . . . . . . . . . . . . 22
       4.6  Full Name In Outgoing Mail. . . . . . . . . 23
       4.7  Improved Multics Mode . . . . . . . . . . . 24
       5.0  MR11 Executive Mail Menus . . . . . . . . . 25
       6.0  Testing . . . . . . . . . . . . . . . . . . 27


Multics Technical Bulletin                                MTB 658

1.0 INTRODUCTION

    The  Executive  Mail  facility  was designed  with  two major
    goals:   ease  of use  and ease  of learning.   Despite these
    goals, users  have found xmail somewhat  awkward to learn and
    lacking functionality.  Although the original target audience
    was  the  casual  user,  xmail,  because  of  its menu-driven
    interface,  has  become popular  with more  experienced users
    that would rather see  additional functionality in xmail than
    be  forced  to use  Read_Mail/Send_Mail.  Towards  these ends
    users  have  been   constantly  suggesting  improvements  and
    enhancements to the product.

    This  MTB  describes  the  implementation  of  some  of these
    user-suggested enhancements  to xmail.  This  is not intended
    to be a complete coverage  of the suggested improvements, but
    rather addresses  those shortcomings most  often requested by
    actual users.


MTB 658                                Multics Technical Bulletin

2.0 NEW PERSONALIZATION OPTIONS

    The  following  sections describe  proposed additions  to the
    "Personalize   Executive  Mail"   menu.   They   are  ordered
    according  to  their implementation  priority.   Each section
    gives the  problem to be  solved, the proposed  solution, the
    documentation  for  the  solution,  and  an  estimate  of the
    manpower required to add the feature.

    The extensions  to the Xmail  product are grouped  into three
    major  categories:  new  personalization options,  new editor
    features, and miscellaneous other extensions.

2.1 Improve Support For Interactive Messages

2.1.1 Problem

    Xmail's  handling  of  interactive  messages  is  suboptimal.
    Depending on where you are and  what you are doing you may or
    may not  see your messages  as they arrive.  In  fact, if you
    are spending a  lot of time in the  editor, your messages can
    be  delayed  considerably.   One  solution is  to  provide an
    option  which allows  the user  to have  interactive messages
    treated as mail (similar  to "rdm -im").  Another possibility
    is  to  create  a  new  window  for  the  user's  interactive
    messages, intercept them, and write  them to this new window.
    And there are cases where neither of the above is correct.

    Ease-of-use should not  break down when the user  has setup a
    special message  handler.  If you have  established a message
    handler of your  own via "am -call," Xmail  subverts this and
    does not return your environment as it was found.  The excuse
    that "the casual user won't  have any special environment" is
    getting  old  and is  not  sufficient to  allow  problems for
    "sophisticated" users.   Users need to be  able to say "don't
    mess  with  my  interactive  messages"  and  they  need  some
    guarantee  that their  environment will  be returned  to them
    intact.   Support  for  the  former  can  be  provided  by  a
    personalization  option.  The  later depends  on support from
    the message facility which has  been proposed by MTB-569.  If
    a  caller  can  determine   that  message  handler  has  been
    established  via  a  previous  "am  -call"  and  can  get the
    command_line  that  was  used,  then it  can  reestablish the
    user's  message  handler  upon  termination  of  its  own "am
    -call".  If  this support is provided,  Xmail should make use
    of it.

2.1.2 Solution

    For  MR11,  Xmail should  at  least support  an  option which
    prevents the user's own  message handler from being disabled.


Multics Technical Bulletin                                MTB 658

    A new option "Process Interactive  Messages" will be added to
    the  personalization  menu.  If  the value  of the  option is
    "yes", Xmail will behave as in the past, printing interactive
    messages  whenever  the  system   is  waiting  for  a  user's
    selection from  the menu window  and deferring them  at other
    times.  If  the value of  the option is "no",  Xmail will not
    intercept interactive messages at  all.  If they aren't being
    handled by a user-defined handler,  they will just be printed
    on  the screen  wherever the cursor  happens to  be when they
    arrive.   The  default  is  "yes" for  compatiblity  with the
    current behavior.

    The name of this option  allows future extensions which could
    provide  several  different  flavors  of  interactive message
    handling  including:  treating  messages as  mail, creating a
    special message window, etc.

    If  the message  facility support  is available  to determine
    that a  user-specified message handler is  already in effect,
    this  new option  will specify whether  Xmail should override
    the  user's handler  or whether it  should ignore interactive
    messages completely.  With support from the message facility,
    Xmail  will  be  able  to  reinstate  the  user's environment
    regardless of the value of this new option.

2.1.3 Documentation

    This option lets you specify whether  or not you wish to have
    the   Executive  Mail   facility  process   your  interactive
    messages.  (Interactive messages are brief messages which are
    normally printed  immediately on your terminal  as opposed to
    simply  being filed  in your mailbox  with a  "You have mail"
    notice.)  After  selecting this option, you  will be asked to
    specify "yes"  or "no."  If you  type "yes," your interactive
    messages will automatically be printed whenever the system is
    waiting for  input in the menu  at the top of  the screen; if
    you  type  "no,"  xmail  will   not  set  up  processing  for
    interactive messages and will  not display them.  This option
    should normally be left "yes" unless you have set up your own
    processing for interactive messages prior to invoking xmail.

2.1.4 Manpower

    The  implementation  of  the  "Process  Interactive Messages"
    option  requires  only minimal  changes  to xmail.   The code
    which  handles  interactive  messages will  be  bracketed and
    executed only  when the internal switch  is TRUE.  Adding the
    code  to support  this option  in the  "Personalize Executive
    Mail" menu will also be elementary.
    Estimate:  3 person-days


MTB 658                                Multics Technical Bulletin

2.2 Destroy The Menu Window

2.2.1 Problem

    It has been proposed that Xmail  allow the upper window to be
    destroyed when not in the menu_  (or at least when in editor)
    to allow more room on the screen.  This also makes more sense
    to the user;  currently the menu is displayed  even when menu
    options  are  not allowed.   For  the MR11  release,  I think
    destroying the menu while editing is sufficient.  This is the
    time when  more room is often  needed.  The disadvantage (and
    the obvious  reason for not  destroying the menu)  is that it
    takes time to redraw the menu when you return.  This time may
    be  significant  at  slower  terminal speeds,  thus  it  is a
    personalization  option.  It  is also possible  to change the
    behavior  based  on the  terminal  speed, but  this  might be
    confusing to the user since it doesn't provide the consistent
    interface.

2.3.2 Solution

    A new  option "Remove Menu  While Editing", will  be added to
    the  personalization menu.   The option  will have  values of
    "yes" or "no" with "no"  as the default for compatiblity with
    the current  behavior.  If the  value of the  option is "yes"
    the upper window (menu window) will be overwritten during the
    editing sessions to provide  a bigger editing window.  Screen
    space "borrowed" will be restored when exiting the editor.

2.2.3 Documentation

    This option lets you specify whether  or not you wish to have
    the editor  use the space  normally occupied by  the menus at
    the top of the screen.  After selecting this option, you will
    be asked  to specify "yes"  or "no."  If you  type "yes," the
    menu at  the top of  the screen will be  removed whenever the
    editor is invoked  to give you more room  for editing; if you
    type "no," the editor will use only the room available in the
    bottom window of the screen.

2.2.4 Manpower

    The  implementation of  this feature  will require bracketing
    each call  to emacs_ with  code to resize  the bottom window.
    Before  calling  the editor  we  need to  enlarge  the bottom
    window either  overlapping or shrinking the  top menu window.
    After returning from the editor we resize things as they were
    and signal redisplay.  Adding the code to support this option
    in   the   "Personalize  Executive   Mail"  menu   should  be
    straightforward.


Multics Technical Bulletin                                MTB 658

    Estimate:  3 person-days


MTB 658                                Multics Technical Bulletin

2.3 Allow Escape Sequences To Be Used

2.3.1 Problem

    Some users find that they  need to use several different type
    of  terminals in  the course  of their  work.  This  causes a
    great frustration as the  position (or existence) of function
    keys  changes.  The  simplest solution  is to  provide option
    which lets the user always use the escape sequences.

2.3.2 Solution

    A new  option "Always Use  Escape Keys" will be  added to the
    personalization menu.   The option will have  values of "yes"
    or "no"  with "no" as  the default for  compatiblity with the
    current behavior.   If the option value  is "yes", Xmail will
    ignore its  usual test for  function keys and  simply use the
    escape sequences.

2.3.3 Documentation

    This option lets you specify whether  or not you wish to have
    the  function keys  be represented  by the  physical function
    keys on  your terminal or by  the alternate escape sequences.
    After  selecting this  option, you  will be  asked to specify
    "yes" or  "no."  If you  type "yes," the escape  keys will be
    used  to  represent  the  function  keys  regardless  of  the
    terminal's  capabilities;  if you  type "no,"  the terminal's
    function keys  will be used whenever  the terminal being used
    has  enough  function  keys  to  support  the  Executive Mail
    facility.  With this option set  to "no" terminals that don't
    have function  keys (or enough  of them) will  use the escape
    keys; terminals  that do have  enough function keys  will use
    the function keys.

2.3.4 Manpower

    This  option requires  a simple change  to the initialization
    code  to  eliminate the  check  for function  keys.   It also
    requires that we be able to change "on the fly" when the user
    changes the option.  This may require a little reorganization
    of  the code.   Adding the option  to the menu  should not be
    difficult.
    Estimate:  4 person-days


Multics Technical Bulletin                                MTB 658

2.4 Savebox Option

2.4.1 Problem

    Xmail personalization allows you  to specify whether you want
    your outgoing messages (including replies and forwarded mail)
    saved with  an option called "Save  Outgoing Messages."  This
    option  can  be  set by  the  user  to "yes"  to  always save
    outgoing messages  in the "outgoing" mailfile,  "no" to never
    save outgoing  messages, or "ask" to  prompt the user whether
    to save or not (if yes,  messages are saved in the "outgoing"
    mail file.)  If, however, the user never sets this option the
    "default" is to  always prompt whether to save  and if so, to
    then prompt WHERE to save  it.  The problem with this current
    strategy is that once the user  has set this option he cannot
    reset  it  to the  default.  There  is not  an option  to get
    "prompt for saving and prompt for the savefile".

2.4.2 Solution

    In MR11, Xmail  will offer another option to  the user.  This
    option will allow the user  to set the "Outgoing Savefile" to
    either  a  static mailfile  (which either  exists or  will be
    created for him)  or to "ask" which will  prompt for the name
    of the savefile each time a  outgoing message is to be saved.
    This new option will allow the user to get the default action
    as mentioned above,  and it will allow the  user to specify a
    different static mailfile (other than "outgoing") to use when
    saving  outgoing messages.   The choices  that the  user will
    have for  saving outgoing messages  with this new  option are
    summarized in the table below.

       Save    Outgoing  Result When Sending,
     Outgoing  Savefile  Replying, or Forwarding:
       "no"      NA      outgoing messages are not saved
      "yes"      any     outgoing messages are always saved in
                            the current savefile
      "yes"     "ask"    outgoing messages are always saved and
                            user is asked for the savefile name
      "ask"      any     user is asked whether to save each
                            outgoing message and if yes, it is
                            saved in the current savefile
      "ask"     "ask"    user is asked whether to save each
                            outgoing message and if yes, is then
                            asked for the savefile name

    If the user  never sets either option he  will be prompted as
    to whether he wants to save  each outgoing message and if so,
    he will also  be prompted for the name of  the savefile to be
    used.  The  initial values of  these two options  will be set
    based  on the  way the  user has set  the options  in the old


MTB 658                                Multics Technical Bulletin

    version  of  xmail so  he  will see  no difference  unless he
    changes them.

2.4.3 Documentation

    Revised documentation for "Save Outgoing Mail" option:

    This option lets you specify whether or not messages you send
    or  forward, or  replies you write,  are to  be saved.  After
    selecting this  option, you will  be asked to  specify "yes",
    "no",  or  "ask."   If  you  type  "yes,"  all  your outgoing
    messages  will be  saved in the  mail file  you have selected
    with the "Outgoing Savefile" option.   If you type "no", none
    of the messages will be saved.  If you type "ask", every time
    you send,  reply to, or  forward a message you  will be asked
    whether or not you want it to be saved.

    Revised help for  "Save Outgoing Mail" (in response  to ?  at
    the prompt):

         Type one of  the following three words in  order to have
    messages  you  send saved  or  discarded in  one of  the ways
    indicated below:

         yes     every message you send (including replies and forwarded
                   messages) will be saved in the mail file you specify
                   with the "Outgoing Savefile" option
         no      messages you send will not be saved
         ask     you will be asked every time you send a message whether
                   or not you wish to save it

    Conclude by  typing a RETURN.   If you do not  wish to change
    the way in which your messages are saved or discarded, type a
    RETURN by itself.

    New documentation for "Outgoing Savefile" option:

         This option lets you specify where outgoing messages are
    to be saved.  After selecting  this option, you will be asked
    to specify  "set" or "ask."   If you type "set",  you will be
    asked to select a new mailfile that will be used to save your
    outgoing messages.  If you type  "ask", every time you save a
    message you will be asked for  the mailfile in which you want
    the message to be saved.

    New help  for "Outgoing Savefile"  (in response to  ?  at the
    prompt):

         Type  one of  the following  two words  to specify where
    messages you send should be saved:


Multics Technical Bulletin                                MTB 658

         set you will be asked to select the mailfile which will
                   be used for all messages you save
         ask you will be asked every time you send a message for
                   the mailfile to be used to save the copy

    Conclude by  typing a RETURN.   If you do not  wish to change
    the mailfile in which your  messages are saved, type a RETURN
    by itself.

2.4.4 Manpower

    This options requires a change  wherever the user is sending,
    replying,  or  forwarding  mail.    In  addition,  the  xmail
    initialization code  should check the  user's current options
    and set this new option compatibly so the user will not see a
    change until he changes the  option.  The option ties in with
    the  existing "Save  Outgoing Messages"  option and therefore
    requires  minor changes  to the documentation  of this option
    also.

    Estimate:  1 person-week


MTB 658                                Multics Technical Bulletin

2.5 Automatic Dynamic Menus

2.5.1 Problem

    Whenever  the  user must  choose  from a  list  of mailboxes,
    messages, or mailing  lists he can get a  dynamic menu of the
    choices  by  typing  "??".   It has  been  suggested  that we
    provide  an option  that makes this  automatic.  Whenever the
    prompt allows "??"  to present a dynamic menu of options, the
    dynamic  menu  would automatically  be displayed  without the
    "??".   This  means more  display  time but  it  offers fewer
    keystrokes  and  may be  the  only reasonable  mode  for some
    users, especially if  they have a large number  of items from
    which to choose.

2.5.2 Solution

    In MR11,  Xmail will offer another  personalization option to
    the user.   This option will  allow the user  to set "Display
    Lists As Menus"  to either "yes" or "no"  with the default of
    "no"  for  compatibility with  the  current version.   If the
    value of this option is set to "yes" Xmail will automatically
    provide  a  dynamic menu  at all  prompts which  support this
    feature.  If the  option has a value of  "no" then Xmail will
    behave as it currently does,  providing the dynamic menu only
    when "??"  is entered to these prompts.

2.5.3 Documentation

    This option lets you specify whether  or not you wish to have
    menus created for you when you are asked to choose a mailfile
    or mailing  list from those that  you have currently defined.
    After  selecting this  option, you  will be  asked to specify
    "yes" or "no."   If you type "yes," the  menu of mailfiles or
    mailing lists  will always be  displayed; you will  no longer
    receive  the  prompt  asking  for  the  name  of  a  specific
    file/list or  "??"  for a  list.  If you type  "no," then the
    prompt will be displayed and you can either enter the name of
    the mailfile or mailing list being requested or you can enter
    "??"  to create a menu of your choices.

2.5.4 Manpower

    This option  requires a change  to just the  one module which
    handles the selection of files.   It will be changed to check
    a flag  and produce the dynamic  menu immediately rather than
    waiting  for  "??"   depending  on  the  value  of  the flag.
    Additions  to the  "Personalize Executive Mail"  menu will be


Multics Technical Bulletin                                MTB 658

    needed to  support this new  option, but these  should not be
    difficult.
    Estimate:  3 person-days


MTB 658                                Multics Technical Bulletin

2.6 Multics Command Mode

2.6.1 Problem

    Because  Executive Mail  is primarily targeted  at the casual
    user,  the command  interface doesn't  use control arguments.
    The only exception is the multics mode option (-multics_mode,
    -mm).  Since we are extending the personalization options, it
    seems reasonable to include an  option to set multics mode as
    a static  option rather than requiring  users to invoke xmail
    with the control argument.

2.6.2 Solution

    In  MR11,  Xmail  will  offer  "Multics  Command  Mode"  as a
    personalization option to the user in addition to the control
    argument.  The control argument will  be retained in the code
    but it will  no longer be documented.  The  default value for
    this option  will be "no" for  compatibility, but the control
    argument, if given, will still override this default.

2.6.3 Documentation

    This option lets you specify whether  or not you wish to have
    function  key  8  active  for use  in  Executive  Mail.  This
    function  key invokes  Multics command level  from within the
    Executive Mail  facility.  If your terminal  does not have at
    least 8 function keys, this  option enables the two character
    sequence  "esc  e" to  invoke  Multics command  level.  After
    selecting this option, you will  be asked to specify "yes" or
    "no."  If you type "yes," function  key 8 will be enabled and
    the  Executive  Mail  facility  will require  you  to  have 8
    function keys in  order to use the physical  function keys of
    your terminal; if  you type "no," function key  8 will not be
    enabled and  the Multics command level  will not be available
    from within the Executive Mail facility.

2.6.4 Manpower

    This option requires the  addition of another personalization
    option  and a  change to the  code to reset  the internal key
    bindings "on the fly" when the user changes the value of this
    option.   This is  especially important when,  because of the
    new value  of this option,  there are now enough  (or now not
    enough)  function keys  and the  function key/escape sequence
    mode  may  be toggled.   This  should either  be done  with a
    warning  or  not  be changed  until  the next  time  xmail is
    invoked.


Multics Technical Bulletin                                MTB 658

    Estimate:  3 person-days


MTB 658                                Multics Technical Bulletin

3.0 NEW EDITOR FEATURES

    The following sections describe proposed changes to the xmail
    editor.  They  are ordered according  to their implementation
    priority.  Each  section gives the problem  to be solved, the
    proposed solution, the documentation for the solution, and an
    estimate of the manpower required to add the feature.

3.1 Support For "ESC ?"

3.1.1 Problem

    There  is a  need for  a way  to get  help about  the editing
    requests while in the editor.   Unless the user has the xmail
    user's reference in  front of him, he has no  easy way to get
    this help.   Ideally xmail should allow  the function keys to
    remain active while in the editor  so F1 could be used to get
    help.  This is difficult,  however, because on some terminals
    the function keys generate escape sequences that may conflict
    with the editor  requests.  An alternative is to  use ESC "?"
    as the request which gives help about editor requests.

3.1.2 Solution

    For MR11, xmail's builtin editor  will be upgraded to include
    a help  feature triggered by  ESC "?".  It  will be patterned
    after the "describe-key" emacs  request, however, if the user
    enters  a  second  question  mark to  the  prompt  xmail will
    provide  a  complete  summary  of the  editor  requests.  The
    proposed  prompt  is,  "Enter  a  key  sequence  (or  ?   for
    summary):    ".    The  output   will   be  displayed   as  a
    local-display and the user will be  told to enter a RETURN to
    continue.   The ESC  "??"  editor  summary display  will give
    only brief explanation of the  keybindings, while the ESC "?"
    KEYSTROKE display  will give more detail  of a single request
    (see below for an example of both).

    Note  that the  xmail help function  (bound to F1,  or esc ?)
    uses a  different technology when inputting  function keys or
    escape sequences.  In order to get help on function key 3 the
    user  presses  F1  and  types "F"  "3"  "CR"  to  the prompt.
    Similarly, the  user types "e"  "s" "c" "q" for  help on "esc
    q".  Under this proposal, the xmail help function should also
    be  changed,  incompatibly,  to accept  the  actual sequences
    rather than the printed representation.

3.1.3 Documentation


Multics Technical Bulletin                                MTB 658

    This feature  is self-documenting (except for  a blurb in the
    user's  guide) and  is best  illustrated by  an example.  The
    following shows  the use of "esc  ?"  to get help  on "esc ?"
    and  then  the use  of  "esc ??"   to  get a  complete editor
    summary.

Enter a key sequence (or ? for summary): esc ?

resulting local display:

esc ?               editor help

Display the documentation for a given sequence or a complete editor
command summary.  To find out what "esc m" does, type "esc ?" and answer
the prompt by pressing the escape key followed by m.  To get a complete
summary of the editor, type "esc ?" followed by another ?.
-- * * * * * * * * * * * * --

    Enter a key sequence (or ? for summary): ?

    resulting local display:

(Ex = press escape key then press x;  BS = BACKSPACE = Ch;
 Cx = hold CONTROL key down while pressing x)
Cf: Forward Char    En: Next Screen             Cy: Retrieve Erased Text
Cb: Backward Char   Ep: Previous Screen         Eg: Get File
Ef: Forward Word    Cd: Erase Char              Em: Adjust Paragraph
Eb: Backward Word   BS: Backward Erase Char     Er: Redisplay
Ca: Start of Line   Ed: Erase Word              Eq: Send Message
Ce: End of Line     EBS: Backward Erase Word    Et: Defer Message
Cn: Next Line       @: Erase To Start of Line   E<: Start of Message
Cp: Previous Line   Ck: Erase To End of Line    E>: End of Message
                                                E?: Editor Help
-- * * * * * * * * * * * * --

    The xmail help (F1) documentation will be changed to indicate the the
    user should press the actual (function key or escape sequence) rather
    then the printed representation.

3.1.4 Manpower

    This  new editor  help feature will  steal as  much code from
    full emacs as possible  for the "describe-key" function.  The
    "editor summary"  will just be a  local display and shouldn't
    be too difficult.  The xmail  help function will require some
    additional coding and documentation.
    Estimate:  2 person-weeks


MTB 658                                Multics Technical Bulletin

3.2 Insert File Capability

3.2.1 Problem

    The ability  to insert text from  another Multics segment can
    be very  useful.  The lack  of this simple  capability is the
    most  often  reported deficiency  in  the Xmail  product.  In
    fact, many people assume it can  be done and ask, "How do you
    do it?"  The argument has been  that a casual user should not
    have  to  know  pathnames  and  would  get  confused  by this
    command.    However,  enough   people  have   requested  this
    capability that  this argument doesn't seem  strong enough to
    prevent us from adding this useful feature.

3.2.2 Solution

    In  the MR11  release, the xmail  editor will  support a "get
    file" request  bound to ESC  G.  The request  will prompt for
    the  pathname  of  the  file to  be  inserted  at  the cursor
    location.  The pathname is verified and if bad, the user will
    be prompted again.

3.2.3 Documentation

    The only documentation need for this request is that provided
    by the  ESC ?  help feature  and a short blurb  in the user's
    guide.

esc g               get file

Get a file and insert it.  Prompts for the pathname of an existing
segment that will be read into the editor and inserted at the current
cursor location.
-- * * * * * * * * * * * * --

3.2.4 Manpower

    This  request  is already  in  the extensions  and  is simply
    commented  out.    Unless  the  existing   code  has  serious
    problems, this feature should not pose any problems.

    Estimate:  2 person-day


Multics Technical Bulletin                                MTB 658

3.3 Go To Start/End Of Text

3.3.1 Problem

    Users want more functionality in the editor.  Two of the most
    often requested functions are those which position the cursor
    to the  start and end  of the text buffer.   These are rather
    simple  requests  to add  and  seem reasonable  so  we should
    provide them.

3.3.2 Solution

    In the MR11  release, the xmail editor will  support the "esc
    <"   and  "esc   >"  requests   for  go-to-start-of-text  and
    go-to-end-of-text respectively.

3.3.3 Documentation

    The only documentation need for this request is that provided
    by the  ESC ?  help feature  and a short blurb  in the user's
    guide.

esc <               go to start of text

Move to the beginning of the text, i.e., before the first character in the
message, that is, the top of the message text.
-- * * * * * * * * * * * * --

esc >               go to end of text

Move to the end of the text, i.e., after the last character in the
message, that is, the bottom of the message text.
-- * * * * * * * * * * * * --

3.3.4 Manpower

    These  requests   are  straightforward  and   should  not  be
    difficult to add.  The "go to  start of text" will have to be
    able to avoid getting into the message header just as all the
    other reverse movement requests do now.

    Estimate:  2 person-day


MTB 658                                Multics Technical Bulletin

4.0 OTHER MISCELLANEOUS EXTENSIONS

    The  following  sections  describe  additional  miscellaneous
    extensions  and  changes  proposed  for  the  Executive  Mail
    facility.  They are ordered according to their implementation
    priority.  Each  section gives the problem  to be solved, the
    proposed solution, the documentation for the solution, and an
    estimate of the manpower required to add the feature.

4.1 Non-Case-Sensitive Escape Sequences

4.4.1 Problem

    When invoked  on a terminal without  any (or enough) function
    keys  or  when the  new  option "Always  Use Escape  Keys" is
    "yes", xmail  will use sequences to  provide the function key
    choices.  The sequences, however, are currently all lowercase
    and the uppercase versions are not bound.  This confuses some
    users  who think  they are equivalent.   ESC Q  should be the
    same  as  ESC  q.   Many  users  equate  the  two  and  don't
    understand why  the uppercase doesn't work.   By default, the
    video  system   line  editor  and  the   emacs  editor  don't
    differentiate between upper and  lower case escape sequences.
    Changing the xmail function keybindings to accept commands in
    either case should be easy and is a compatible extension.

4.1.2 Solution

    Beginning  with the  MR11 release,  xmail will  accept either
    uppercase  or lowercase  escape sequences for  the escape key
    representation of the function keys.  The only affect of this
    is  that the  user will not  get errors  when using uppercase
    escape sequences.

4.1.3 Documentation

    No changes in documentation are planned.

4.1.4 Manpower

    This   change   to   xmail's  escape   sequences   should  be
    straghtforward  and  an  obvious  extension.   The  duplicate
    keybindings are just added to the existing keybindings.
    Estimate:  3 person-days


Multics Technical Bulletin                                MTB 658

4.2 Support For Blind Carbon Copies

4.2.1 Problem

    Support for blind  carbon copies (bcc) was added  to the mail
    system for the MR10.2 release.   Xmail can support the bcc as
    an upward compatible extension and should do so.

4.2.2 Solution

    In MR11,  xmail will provide support  for blind carbon copies
    (bcc).   The  bcc field  will  be treated  in  the extensions
    similarly to the carbon copy (cc) field.  The "esc u" request
    will  be  changed to  accept bcc  as  well as  the to  and cc
    fields.

4.2.3 Documentation

    This  new feature  is completely  upward compatible  with the
    current  xmail  and  will  need  only  minor  changes  to the
    existing  on-line  documentation  to include  the  bcc field.
    When sending a message a "?"  at the bcc prompt will document
    what a blind carbon copy is:

    Type the names  of people whom you want  to receive copies of
    your  message.  A  blind carbon copy  (bcc) is  like a carbon
    copy (cc) except that the recipients specified under the "to"
    and  "cc" fields  will not  see the  bcc list.   When listing
    recipients,  you  can  use  a user  name  and  project (e.g.,
    Smith.Finance),  and/or  the name  of  a mailing  list (e.g.,
    managers).  Names must be separated  by commas.  You need not
    enter any  recipients here.  Conclude by  pressing the RETURN
    key (or its equivalent on your keyboard).

4.2.4 Manpower

    Because the bcc  field is handled almost exactly  the same as
    the cc field, most of the  work required to add this field is
    just  a matter  of copying the  code for  cc.  However, xmail
    does parse the message into the various fields before passing
    this information  to the mail  system, and this  parsing will
    also be affected by the addition of the new field.

    Estimate:  1 person-week


MTB 658                                Multics Technical Bulletin

4.3 Allow Writing Of A Message To A Segment

4.3.1 Problem

    From time to time users request the ability to save a message
    or a group of messages as an ascii segment for use outside of
    Xmail.   Although it  is possible  to do  this with read_mail
    instead, forcing the Xmail user to learn read_mail instead of
    providing  this simple  request seems  very unfriendly.  This
    also allows  the xmail user to  save a message and  use it as
    input  for another  message by  using the  new editor request
    "GET FILE" (see section 3.2.)

4.3.2 Solution

    In MR11, xmail will include a "Write" request in the "Process
    Incoming Mail" and "Process  Filed Mail" menus.  This request
    will  write the  current messages  to an  ascii segment  in a
    format similar to that which  is displayed with the "Display"
    request.  See section 5 to see  how the new request fits into
    the menus.

4.3.3 Documentation

    This  option writes  a copy  of the  current message(s)  to a
    Multics  segment.  After  selecting this option,  you will be
    asked to specify the pathname of the Multics segment you wish
    to  write  to.   If the  segment  doesn't exist,  it  will be
    created for  you.  If it  does exist, the  current message(s)
    will be appended to the end of the existing segment.

4.3.4 Manpower

    This feature will probably be implemented by breaking out the
    code that  builds a segment  before dprinting as  part of the
    "Print"   request,  since   this  eliminates   the  need  for
    significant  new code  and guarantees  compatibility with the
    printed format.  This should also  make the task much easier.
    The   menus  involved   will,  of  course,   also  change  to
    accommodate the new option.
    Estimate:  4 person-days


Multics Technical Bulletin                                MTB 658

4.4 Automatically List Current Messages

4.4.1 Problem

    It has  been suggested that Xmail  should display the message
    summary in the  status window when there is  only one current
    message.   As  a  reasonable  extension, I  propose  that the
    current messages be automatically  listed (summarized) in the
    bottom  window  after  each  "selection" or  after  the "next
    message"  function  is  executed.   Typically,  this  is  the
    logical next  step to double check  that the correct messages
    are  selected.    When  the  current   messages  are  changed
    automatically  (by  a deletion,  for  example) they  will not
    automatically  be  summarized,  but   the  status  line  will
    continue to be  updated to show the list  of current messages
    by message number.

4.4.2 Solution

    In MR11,  xmail will automatically list  the current messages
    after  a "Select  Messages" request in  the "Process Incoming
    Mail" and "Process Filed Mail" menus.

4.4.3 Documentation

    No  documentation  changes  are  planned  with  the  possible
    exception of a  brief indication that the new  set of current
    message will be listed after the "Select Messages" option.

4.4.4 Manpower

    The  implementation  of this  feature  should be  as  easy as
    adding a call  to the list current messages  procedure at the
    end of the select option.

    Estimate:  2 person-day


MTB 658                                Multics Technical Bulletin

4.5 Three Column Menus

4.5.1 Problem

    The  menu window  or top window  in xmail often  takes up too
    much of the useable screen.   This is especially a noticeable
    problem when the user is in the editor and the menu items are
    displayed  yet  are  not  available.  This  problem  has been
    addressed by allowing the menu  window to be overwritten (see
    section 2.2) but even when displaying or listing messages the
    menu wastes  too much space.   In order to  save screen space
    for displaying  and editing, xmail  should be using  3 column
    menus rather than two column  menus for menus that need space
    in the  bottom window.  This provides  a larger bottom window
    for displaying and editing messages and mailing lists.

4.5.2 Solution

    In  MR11,  most of  the xmail  menus will  be converted  to a
    three-column format rather then the two-column format as they
    are today.  This saves substantial  space on the screen where
    the number of available lines  is usually limited to 24.  The
    menu items may need to change slightly so they can fit into a
    third of  the screen width  rather than half as  they do now,
    but this  is easily done.   The rearrangement of  these menus
    for  three  columns does  not change  the selection  index so
    users won't need to relearn any memorized keystrokes.

4.5.3 Documentation

    Section 5.0 below shows the  proposed MR11 xmail menus.  Note
    that   the   opening   menu,   getting   started   menu,  and
    personalization menu  are still in two-column  format.  It is
    felt they they  don't need to be changed  to the three-column
    format and are better left as two-column menus.  The menus in
    section 5 also  show the addition of the  options provided in
    the previous sections.

4.5.4 Manpower

    The change to three-column menus is provided by a change in a
    parameter  to the  menu_$create entrypoint.   With only minor
    changes to shorten some of  the option names, this conversion
    will not be difficult.

    Estimate:  2 person-day


Multics Technical Bulletin                                MTB 658

4.6 Full Name In Outgoing Mail

4.6.1 Problem

    In MR10.2 the mail_system_ will include a user's full name in
    outgoing  mail  by simply  setting a  variable in  the user's
    default value segment.  The use of this rather obsure feature
    should not force  the xmail user to learn  the value command;
    xmail should provide a simple interface for setting it.

4.6.2 Solution

    In MR11, a new personalization option, "Full Name In Outgoing
    Mail", will be provided to  interface with the user's default
    value  segment  and  provide  for  setting  the "full_name._"
    variable  used by  the mail_system_  to personalize  the from
    field.

4.6.3 Documentation

    General help for the "Full Name In Outgoing Mail" option:

    All  messages  sent by  Executive  Mail and  the  mail system
    include  a  header  which  contains, among  other  items, the
    addresses  of  the author(s)  of  the message;  this  list of
    authors is known  as the From field.  This  option allows you
    to specify your full name to be included along with your user
    name in  the From field  of all outgoing  messages (including
    replies  and  forwarded   messages).   After  selecting  this
    option, you  will be asked  to specify the text  of this full
    name string.

4.6.4 Manpower

    This option requires a simple  interface to the default value
    segment  and  support from  the "Personalize  Executive Mail"
    menu.

    Estimate:  2 person-day


MTB 658                                Multics Technical Bulletin

4.7 Improved Multics Mode

4.7.1 Problem

Users  of  the  Multics  mode  function  key  often  want  to use
    information  obtained  from  a  message  they  have  on their
    screen.   But  xmail Multics  mode  clears the  screen before
    giving the user a command level and users are forced to write
    down  the  useful information  before invoking  Multics mode.
    Also depending  on the size  of the current  menu window, you
    can get a  very small Multics mode window in  which to do any
    useful work.

4.7.2 Solution

    In MR11, the xmail Multics mode  will change to not clear the
    screen when  giving the user  a command level.   In addition,
    the user  will be given  the entire user_io  window (less one
    line  at  the top  which  explains to  type  pi to  return to
    xmail).  This will be  provided by creating overlapping video
    window so that  the menu will be scrolled off  the top of the
    menu window as needed to provide working space for the user's
    commands.   In   this  way  the  redisplay   time  needed  to
    regenerate the menu is minimized.

4.7.3 Documentation

    No changes are planned for the documentation.

4.7.4 Manpower

    This change has been coded to test the feasibility and simply
    requires cleanup and code documentation.

    Estimate:  1 person-day


Multics Technical Bulletin                                MTB 658

5.0 MR11 Executive Mail Menus

         Press a number and the associated action will be performed.
------------------------------ Getting Started ------------------------------
 (1) Getting to Know Your Terminal       (5) How to Correct Typos
 (2) How to Get Help                     (6) Personalizing Executive Mail
 (3) How to Get Out                      (7) Go To Executive Mail Menu
 (4) Getting Around
-----------------------------------------------------------------------------

                             (For help, press F1)
----------------------- Executive Mail (Version 2.2a) -----------------------
 (1) Process Incoming Mail               (5) Review Mail Files
 (2) Send Mail                           (6) Personalize Exec Mail
 (3) Process Filed Mail                  (7) Getting Started
 (4) Mailing Lists
-----------------------------------------------------------------------------

Mailbox: incoming            (For help, press F1)           Total messages: 1
                             Current 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
-----------------------------------------------------------------------------

(3-column format saves 3 lines)

                             (For help, press F1)
--------------------------------- Send Mail ---------------------------------
 (1) New Message         (4) Print Sent Message     (7) Process Incoming Mail
 (2) Defered Message     (5) Discard Deferred Msg   (8) Process Filed Mail
 (3) File Sent Message   (6) Mailing Lists
-----------------------------------------------------------------------------

(3-column format saves 1 line)


MTB 658                                Multics Technical Bulletin

File: outgoing               (For help, press F1)           Total messages: 1
                              Current 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
-----------------------------------------------------------------------------

(3-column format saves 2 lines)

                             (For help, press F1)
------------------------------- Mailing Lists -------------------------------
 (1) Create               (3) Update                (5) Rename
 (2) Display              (4) Discard               (6) Print
-----------------------------------------------------------------------------

(3-column format saves 1 line)

                             (For help, press F1)
----------------------------- Review Mail Files -----------------------------
 (1) List Files           (4) Print                 (7) List Messages
 (2) Create               (5) Empty                 (8) Discard File
 (3) Archive              (6) Rename                (9) Retrieve Messages
-----------------------------------------------------------------------------

(3-column format saves 2 lines)

                             (For help, press F1)
------------------------- Personalize Executive Mail ------------------------
 (1) Printout Header                     (7) Process Interactive Messages
 (2) Printout Destination                (8) Display Lists As Menus
 (3) Printout Station                    (9) Remove Menu While Editing
 (4) Message Acknowledgment              (a) Always Use Escape Keys
 (5) Save Outgoing Messages              (b) Full Name In Outgoing Mail
 (6) Outgoing Savefile                   (c) Multics Command Mode
-----------------------------------------------------------------------------


Multics Technical Bulletin                                MTB 658

6.0 Testing

    The Executive Mail Facility has  had no regression testing in
    the  past other  than a simple  manual process  of trying the
    fuctions  and  seeing  that  they appear  to  work.   This is
    clearly  unacceptable and  has caused  unnecessary delays and
    post bug fixes in prior installations.

    For all the  extensions proposed by this document,  I plan to
    provide a  test script that  includes use of  screen dump and
    screen compare tools to provide verifiable regression testing
    of these new  features in the future.  Ideally,  this type of
    regression  testing  should be  incorporated into  the entire
    xmail product and  automated so it could be  run from time to
    time during the development cycle to obtain a higher level of
    confidence.   This I  cannot promise  for MR11,  but it  is a
    ongoing goal.