PCELMHST.TXT History of changes to the PCElm mail program
===========

1.12 DIS 10th January 2000

a) If a message had MIME headers but was not encoded i.e. the headers
   indicated 7 bit US-ASCII, the test for a uuencoded file was disabled.
   This has been overridden now so that it will spot the begin line
   and decode the file.

b) A "begin" line was sometimes incorrectly detected fooling the program
   into thinking that a uuencoded file had been found.  This has been
   tightened up.

c) If using folder saving of type 2 and sending to more than one
   recipient at the same domain, an error message of "Can't open..."
   would appear. This has been fixed.  This highlighted a problem
   where the mail would not be saved to the correct folders and this
   has been fixed.  For clarification the program will save to the
   first name it finds and does not save a copy in each of the
   recipients.  It uses the expanded names and not the alias name. e.g:
   
   Mail to this@that.com, the@that.com will save a copy in the folder
   called "this" subject to the normal folder saving rules.  Mail to an
   alias friends which expands to a list such as this@that.com, the@that.com
   will also save in a folder called "this".
   
   The program should at least be consistent now whereas it wasn't before.
   On the wishlist is for it to optionally save a copy in in each of the
   recipients folders.

-- there was a hiatus of nearly five years between the above changes
   and the rest of the 1.12 changes!

d) Changed Demon's name and contact details to more modern values

e) Sorting now assumes that two digit years are from 1980-2079
   rather than 1900-1999 (ie this is an interval arithmetic fix
   to a Y2K problem).

f) Following an agreement between the original authors and Demon
   Internet the program is now available under the GNU General
   Public License Version 1.

g) Fixed MAKEFILE to produce non-debug versions and to allow all
   compiler warnings to be visible

h) Fixed add_headers to return 0 for failures rather than just a
   return (which tracing showed returned 0x2A!)

i) Fixed shuffle_up to take an LPTR rather than an LPTR *. This
   means that the delete when the lines match is rather more
   likely to work!

j) Removed some unused routines and tidied up cursor.c

k) Removed unused parameters in various routines

-------------------------------------------------------------------------

1.11 DIS 7th December 1994

a) Changed uuencoding to finish the code with a line containing just a space
   before the "end" line.  Added table before the begin line as this is used
   by some decoders.

b) When using s (or w) to save a message, the program would not validate
   the From line at all.  Thus some messages caused it to crash.  Others
   defaulted to illegal file names.
   
   In conjunction with this, all inputs could crash if you input a % symbol
   and then used editing keys.  This affected using Reply to for messages
   where the reply address had a % in.  Fixed the general input routine so
   this will be fixed for all inputs.
   
   Pressing F3 now recalls the last filename saved.  You can press F3 at any
   time there is a keyboard input.

c) Some error or informational messages just flashed to the screen or
   couldn't be seen at all.  Fixed "No need to do so" on Freshen in this
   respect and "Invalid Key".  At the same time I noticed that the counter
   which decided when to clear the message was just a simple countdown.
   This was rather weak as under windows it would take several times
   longer.  It now uses a count of 3 seconds.
   
   Some displays still showed forward slashes - this has been fixed and a
   couple of new informational messages added along with cosmetic tidying
   up.  Most importantly, an Updating Mailbox... message now appears when
   quitting or changing mailbox so that you know what is happening.
   
   Note:  If you multitask and leave PCElm running in Windows, it must
   be configured to run in background so that it can pick up new mail.
   The above improvement will mean that it shouldn't miss the arrival
   of new mail.

d) Using editing keys caused the background colours to change
   in windows boxes.  Fixed.

e) You can now select the order of display on the screen.  In PCELM.RC
   (and configurable by DIS.EXE 1.25 or later) you can enter:
   
   sortdirection - set this to 0 for ascending order (default) or
                   1 for descending order.
   sortby - set this to 0 to use the order that the messages are in the
            file and set it to 1 to sort by date.
   e.g.
   
   sortdirection 1
   sortby 1
   
   will present the mailbox with the most recent messages first. Note that
   the display of the date occasionally was slightly misformatted and this
   has been fixed.  Also note that if there is more than one message on
   any given day, the program will sort by the order that the mail arrived
   in the mailbox and not by the time.  When the program  updates it will
   leave the mailbox in the same order as it found it.
   
   Having allowed the order of messages on the screen to be reversed, this can
   cause a problem in that the auto move to the next message, that happens 
   following an action, will work down the screen.  E.g. you delete something
   and the cursor moves to the next message down the screen always when in fact
   you may want it to move up the screen.  This affects the d, n, u, + and s
   commnads.  The movedirection parameter can be set to Automatic
   Down or Up (A, D or U).  Automatic will force it to move in a direction
   consistent with the order as displayed on the screen.  Up/Down will force
   it to always go up or down.
   
f) For sometime PCElm has been able to run in non-standard 80x25
   screen modes.  DIS.EXE resets the screen mode but you can alter DEMON.BAT
   should you require PCElm in a different mode e.g. mode con lines=50
   The program has been altered in a few minor places where it had
   assumed 80 columns or 25 lines.

g) When sending a message using an alias file, causing the expansion to
   go over 255 characters, PCElm would truncate at that length.  This has
   been fixed by improving PCElm so that it writes long header lines found
   for To: Cc: and Bcc: out at no more than 80 characters at a time inline
   with the suggestions in the RFCs. This creates a much neater
   appearance.  Additionally, PCElm now correctly reads in these split
   lines.  A split line in a header continues by starting the new line
   with a "white" space character such as a space or TAB.

h) If you used "From " at the start of the line, PCElm was not adding a
   > when it saved it in your folder which confused the mailbox as this
   syntax defines the start of a mail header.  Fixed.

i) Various MIME problems found.  PCElm was not as robust at handling odd
   formatting etc. by other mailers:  If the Content type of a multipart
   message was split across two lines, the boundary data would be lost
   and thus the message would not be decoded correctly;  If there were
   extra blank lines at the start of a base64 encoded message the program
   would end immediately as it terminated on a blank line;  If a message
   contained multiparts that were base64 (not uuencoded) PCElm would not
   offer to decode the second part.  A message that was plain text
   was assumed to be just that as the program didn't expect anybody to
   encode plain text!  However some people do and so it now handles this
   as well.

   All these problems have been fixed.

j) The program now interprets info in quotes before the @ symbol correctly
   thus allowing you to mail and reply to X-400 addresses slightly more
   easily.

k) When viewing message using the internal viewer, pressing t allows you
   to transmit from file in a similar way that mail to, reply etc work
   from that screen.

l) When saving to a file and not a folder, if the file did not exist it
   is created and the message displayed now reflects this.  If it already
   exists you are prompted with Append, replace, type again or exit and
   you can press a, r, t or e. (This is similar to SNEWS except SNEWS
   doesn't allow type again.  I have deliberately used the same terminology
   and keys as SNEWS here).  A adds to the end of the existing file, r replaces
   (overwrites) it, t allows you to retype and e exits/aborts this process.

m) The reading in of messages now uses buffering to speed things up.  This
   made no difference on my 66Mhz computer but may well do on a slower machine.

n) When determining if the message was to go to the same host, thus creating
   one text file with multiple entries in the .wrk file, the program would
   not match against all of the entries.  Now fixed.

-------------------------------------------------------------------------

1.10 DIS 20th June 1994

a) Transmit from file duplicated the last line - fixed.

b) U (capital U) marks a mail message as unread.

c) maxlet is no longer used.  Memory is allocated as is needed thus freeing
   more memory for other things such as MIME or your editor.  In addition
   the program was storing 257 bytes for every from line even though they
   often average far less than 80.  This space is now malloc'd as well 
   saving a large amount of memory.  Mailboxes of 1,000 or more messages
   are now possible and an "average" mailbox of 20-30 messages will use
   about 100K less memory if maxlet was 300.

d) Improvements to built-in editor:  If the editor is blank it defaults
   to the builtin+ version and now doesn't give you a message telling you
   about it on startup.  If you use insert mode, the next time you used
   the editor you would still be in insert mode but the cursor would show
   as a small "overtype mode" cursor - changed cursor to be set correctly
   on entry.  The wordwrapping only happened after one too many characters
   had been entered.  Also it only happened at the end of the line and not
   if you went back and inserted characters or editted the line (e.g. if
   you delete a character it now tries to bring word(s) from the next line
   up and so on).  This is simple to say but is in fact a fiddly thing to
   introduce so I am not surprised that the original authors did not do
   so.
   
   If you are wrapping and you edit the first word of a line by entering
   a space character, it will move the word on to the previous line if
   there is room.  Similarly if your press DEL or backspace it will
   do this.
   
   Due to the fact that wordwrap is much more powerful, it becomes a pain
   when editting the headers of the mail message - It is ok if you
   remember to turn word wrap off but otherwise, one press of the DEL or
   backspace keys and you are in a mess.  Thus I have made the program
   detect the headers by determining that if the first line of the message
   starts with "Date: " then you have the headers in the message.  The
   end of the headers are determined by a blank line (as usual).
   
   Wordwrap only affects the current paragraph.  A pargraph for the
   purposes of this editor is defined as consecutive lines of text ending
   with one of: an empty line; a line containing only spaces; a line
   containing the start of signature sequence ("-- " <dash><dash><space>);
   a line starting ">" which indicates some quoted text.
   
   The program auto turns off wordwrap when you are in the signature
   field as this, once again, is generally much more convenient.

   Please note that if the program "auto turns off wordwrap" the W displayed
   in the top right hand corner remains and wordwrap will automatically
   be reenabled when you enter the body of the mail message once again.
   
   If insert mode was on and you pressed RETURN on the last character,
   the line was split *after* that character (i.e. a new blank line
   was inserted).  The code seemed to do this deliberately but I can't
   think why so I have fixed it.
   
   A blank character was added to then end of most lines which is wrong.
   Esp. awkward when sending a mail message to a list server.  Fixed.
   
   Pressing DEL on an empty line now does a delete line.
   
   Ctrl-Cursor Left when the cursor was put beyond the end of the text on
   the current line (most often caused by cursoring down to the desired 
   line and the pressing CTRL-LEFT) caused the program to work on the
   wrong bit of memory.  Fixed.

   Configurable items in PCELM.RC:

   builtin-tabsize        /* TAB size */
   builtin-leftmargin     /* Left margin */
   builtin-rightmargin    /* Right margin */
   builtin-wordwrap       /* word wrap on/off */
   builtin-insert         /* insert mode on/off */
   builtin-key-end        /* ESC if you want to use the ESCAPE key to end on
                             instead of ALT-Q */
   builtin-confirm-abort  /* Do you want to confirm if aborting or not? */

   DIS.EXE 1.22 will be modified to allow easy configuration of the above.

e) "Subject: " and "Reply-To: " was not handled correctly.  Fixed.

f) .m with no message number now reads in the current message rather than
   giving an error message.  Also the file is closed off first thus saving
   any changes.

g) Duplicated RE: on replying although Re: was correctly left alone.  Made
   it case insensitive.

h) Whenever a line of input was requested you only had simple editing
   (erase line or backspace).  You can now cursor left, right, home, end
   backspace, delete and insert.  CTRL cursor left and right now move the
   cursor one word left and right.  All of this also works on the old
   "dotmenu" where tabs are also allowed and are now formatted correctly,
   get deleted correctly etc.
   
   The cursor is left at the start of the field now and not the end which
   is much more convenient especially for one character fields.

i)  s to send etc. prompt now allows upper case letters

j)  Message-id was sometimes duplicated in a message body.

k)  The timezone reserved memory for 6 characters but only printed the
    first three.  Increased both of these to 30 to match DIS.EXE
    configuration screen.

l)  If sending to an address with a % in, the program wold bomb out when
    using the l list unsent messages option.  Fixed.

m)  Saving to a folder with a % in the name would include the % - it now
    truncates at the %

n)  The maximum number of weed out headers has been increased to 60 from
    20.

o)  Changing to a different folder which didn't exist and then answering N
    to not create a new folder caused a lock up and can destroy your mailbox.
    Fixed.

p)  If sending the same message to several people, PCElm would always create
    one .TXT file and one .WRK file for every recipient.  If the recipients
    are at the same domain (determined by the domain name after the @
    symbol) this is unnecessary and undesirable.  In this instance, PCElm
    will simply create one .TXT file and add more recipients to the .WRK
    file.  This also makes the sending of this mail faster.

q)  MIME changes:

    PCElm has much more MIME compatibility built in, including the
    ability to create MIME messages (including other character sets
    than ascii, uuencoding and the sending of binary files using base64).
    
    The reference and use of the multimedia setting (normally metamail)
    remains for compatibility but you will (hopefully) need it less, if
    at all.
    
    Make sure that you turn MIME on by setting enablemime to 1 or using
    Configure PCElm program in DIS.EXE.
    
    If you had enablemime on, any message that had MIME Version: 1.0 in
    the header would be passed through the MIME screen.  This is a pain
    when in practise a lot of the messages are simply plain text
    (i.e. Content-Type text/plain; charset us-ascii).  The program has
    now been altered to auto pass these through to your std pager for
    viewing. To take advantage of most of the changes you must use PCElm's
    internal viewer - however, if you wish to carry on using your own viewer
    you may do so.  If PCElm spots a message that it can decode it will
    then ask you if you want to use its viewer for that message.  Thus you
    get the best of both worlds.
    
    If a message contains MIME headers and is not plain text, the letter
    M appears in the first column indicating it is a MIME message.  The
    display has been altered by one character taken from the sender's
    name to allow for this.
    
    If using the internal pager for viewing (recommended) and you have
    mime turned on (enablemime=1 or configure using DIS.EXE Configure PCElm
    F9 MIME) and the program comes across a MIME message that it knows how
    to handle the internal pager will attempt to show the message correctly.
    
    PCElm can handle ISO-8859-1, Quoted-Printable, Base64, image/gif,
    image/jpeg, video/mpeg, audio/au

    For instance if a message has a content-encoding of quoted-printable with
    a content type of ISO-8859-1, the internal pager will attempt to show the
    message correctly.  Thus you get to see  symbols etc. The following is a
    flying f '' which is also known to work.
    
    The internal pager will handle multipart/mixed messages but not messages
    split across several messages.  By setting up your picture viewers it will
    also pass base64 coded messages on to your specified packages (see the
    new settings below).  If the message is a sundry file in base64
    it will allow this to be decoded.  To view pictures etc. you need the
    some or all of following set up in PCELM.RC
    
    gifview    - for viewing .gif
    jpegview   - for viewing .jpg
    mpegview   - for viewing .mpg
    audioview  - for listening to .au files
    
    The version of DIS.EXE released with this version of PCElm allow this
    to be configured.
    
    There are a number of picture displayers.  dvpeg is handy as it
    displays gif anf jpeg pictures.  Have a look in ftp.demon.co.uk
    /pub/simtel20/msdos/graphics

    A simple gif viewer is svga.  Get a copy from ftp.demon.co.uk and
    either put it in your DOS path or refer to it explicitly e.g.
    gifview /pics/svga/svga.  When the program comes across a picture
    it knows how to display, it decodes it allowing you to specify
    a directory and filename.  If the filename is passed in the headers,
    it defaults to that but strips out and drive letters and directory
    paths as they are verly likely to be wrong.  Assuming you have put
    a viewer in place, the program will then show you the command line
    it is going to use to display the picture.  Clearing this field and
    pressing return (or just press ESC twice) will abort.  If you don't
    abort the program will show the picture.  When you exit your viewer
    in the normal way, you will be returned to PCElm which will then
    display the rest of the message (if any).
    
    If a file is mailed encoded in base64, the program spots this and
    simply allows you to decode it and put it in a directory for later
    processing.  This is very useful for passing .exe, .zip and other
    8 bit data around.
    
    If you get a "window" asking you for input, clearing out the field will
    abort the display of the message.  This can be performed by press ESC
    twice.
    
    If x-uuencode is passed in the Content-Transfer-Encoding field then the
    program will be able to decode it as a uuencoded file.  This is handy as
    the Eudora program (on the Apple Mac at least, I haven't looked at the
    PC version) uses this notation.

    The program will spot a uuencoded file even if it is not a MIME message
    and it will offer to decode it for you.  Once again, this only works on
    a single message.  Better uuencoding and decoding will be handled in a
    later version.

	Note that base64 is preferable to uuencode as it is more robust through
    mailers. PCElm will also be able to generate base64 messages soon and the
    use of MIME should become almost seamless. The display of richtext will
    also be supported albeit by stripping most of the character based
    formatting out.
    
    Please note that, although I don't expect the program to crash, it
    doesn't handle all instances of MIME messages as well as it might.
    Please report these to me via the newsgroups so that I can make it
    more powerful in later versions.  
    
r)  Changed the date in the outgoing mail headers to be 4 digits.

s)  Found a couple of places where some memory wasn't being freed (only
    very minor).
    
t)  Some parts of the program only had a maximum line length of 254 bytes.
    Now extended to 1024 (1,000 is the maximum allowed).

u)  Tidied up the display on changin mailboxes - blanked a couple of lines
    when reading in new folder.

v)  Mostly PCELm does not handle header lines that are split onto two or
    more lines.  Fixed one instance of this (in the reply/group reply
    section).

w)  Forwarding a message that has no subject put rubbish in the Subject
    field.  Fixed.

x)  Could not have mail addresses more than 254 characters in length in total.
    Extended to 1024.

y)  Using the internal editor when replying to a message with a lot of
    recipients would crash the machine.  Fixed.

-------------------------------------------------------------------------

1.09 DIS 22nd January 1994

a) alias expansion ended too quickly (256 characters instead of 1024).
   Now increased.  If you re-edit a mail message *before* sending you may
   enter aliases against To: Cc: and Bcc: although these will only get
   expanded when the message is sent.

b) Added autodel option - defaults to 1 if not present in PCELM.RC
   0 = after pressing s to save or w to write then don't flag article
       for deletion
   1 = Do flag it for deletion (as it currently does)

c) Added askdelqueue option - defaults to 0 if not present in PCELM.RC
   0 = Don't ask before deleting an item from outgoing mail queue when you
       press d.
   1 = Do ask.

d) Forward message moved the internal pointer to the next message but   
   didn't update the screen - so f to forward followed by d to delete
   deleted the wrong message.  Now changed so that forward does not
   move the internal message pointer.  The screen also updates as well
   now.

e) betterread variable in PCELM.RC - when set to TRUE (default for
   backward compatibility) it says "Better read it first!" before 
   replying to or deleting a message if that message has not been read.
   I find this a pain and so have parametised it.

f) Forwarding now allows you to edit the message before sending it.  The
   whole of the message is indented and not just the headers (including
   the Status: R part).

g) Broke the message-id number in 1.07 - now fixed.

h) Certain illegal header lines weren't handled: '<header_name:' was ok but
   '<header_name: ' cuased problems.  Fixed for From, Replyto and Subject.

i) Re-editing the message before pressing s to send caused the lines count
   to include the number of lines in the header + 1.  Now fixed to not
   include the header lines or the blank line.

j) Printing a mail message lost the first character if not using the   
   dos spooler.

k) If a mail file doesn't exist on entry to the program it now asks on the
   bottom line if it you want to create it not on the top line.

l) List unsent messages didn't handle more than a screenful (20) correctly.
   Now ok.

m) The internal pager has been improved a great deal:

   Cursor up/down and Page up implemented.
   Page down using Page Down, Space or TAB.
   Press 4 to alter tabs to be 4 spaces, 8 to revert to 8.
   Press mrRgGfpdunsw to do the same as if pressed from the Command: prompt
   i.e. Mail to, reply, reply inc. msg, group reply, Group reply inc. msg,
   forward and print, delete, undelete, next unread, save, write.
   
   If using d to delete you are moved to the next message in the list
   without moving back to the menu unless you are reading the last message
   on the list in which case you *are* returned to the menu.
   
   Escape now lets you out of viewing mode as well as q.

   To user this pager, set the pager/viewer in Configure PCElm to
   be blank.

n) At then "press return to continue" prompt (e.g. after pressing F1 for
   help) it now says "press return or ESC to continue" and the Escape key
   will work.

   Moved the help messages in pcelm.eng to the end of the file so that they
   may be continuous.  Tidied help screen and updated it.

o) New commands added: g and G for group reply.  Replies to all recipients
   on the To: and Cc: lines.  G includes the message similar tor r and R.

p) You can now press return to edit in the list unsent messages screen.

q) Pressing the TAB key takes you to read the next unread message so that you
   may read through all of your new messages just by pressing TAB if you
   use the internal pager.

r) When changing folders, if you didn't enter any text and just pressed
   return you would see a list of mailboxes on the bottom of the screen.
   This no longer happens as it was very limited - it made a mess of the
   screen if you had several mailboxes.
   
   Instead, after pressing c to change mailbox/folder you may enter * to
   see a list of mailboxes or =* to see a list of folders.  You are left at
   the Command prompt so that you may then enter a mailbox/folder name.
   The bottom three lines are used to display this information.  The output
   is formatted so that the maximum width used in any name will determine
   the columns size to ensure the maximum number of names will fit but still
   in neat columns.  The list is sorted into alphabetical ascending order.
   
   Standard DOS pattern matching works here so you may enter a* to see all
   the mailboxes beginning with the letter a or =k??? to see all the
   folders beginning with k and have up to 4 characters.

s) Forced the program to change drive and directory back to from where
   it was loaded after shelling out as this caused problems with 
   locating temporary files.  On the list todo is to use a TMP directory.

t) Press ESC whilst entering data when the cursor is at the start of the
   line treats it as if return had been pressed.  Thus making it easier
   to abort from certain situations.

u) Tagging worked erratically.  Now fixed to work the way it was intended
   which is if you tag messages, the next operation that affects tagged
   messages will operate on thos messages only and *not* the current message
   under the cursor bar unless that is already tagged.
   
   The old way worked liked that the first time only.

-------------------------------------------------------------------------

1.08 DIS 8th December 1993

a) Handle () as comments in the recipient addresses. e.g.:
   To: grahame@demon.net (Grahame Davies)
   will just send the one mail message (it used to send three!)

b) Reply to takes the name from the From: line now and not the Reply-To
   line when quoting inside a message. e.g. In <message-id> Someone writes:

c) When saving a message truncate the name at the second period if found to
   help make a legal filename (e.g. G.B.Davies truncates to g.b)

d) pager <blank> in pcelm.rc did not work.  This is due to strcpy(arg)
   where arg was NULL.  Changed the std read in to not do anything if 
   arg is NULL.

e) Weedout list of new installations was blank - put back to old default
   values.

-------------------------------------------------------------------------

1.07 DIS 20th November 1993

a) This is version 1.07 - version numbers should progress to 1.08, 1.09, 1.10,
   1.11, 1.12 .... 1.20 etc.

b) PCELM.ENG once again needs to be copied over PCELM.MSG.  The DIS.EXE (1.16
   or later) upgrade menu option does this for you.  Alternatively, the
   upgrade.bat file will also do this as it used the upgrade facility in
   DIS.EXE as well (1.16 and later).  PCELM.MAN refers to PCELM.MSG saying
   you may (carefully) edit it.  You may still do so but the supported method
   is to take a backup *before* you upgrade and then re-apply your changes
   to this file.  This will only affect 1 or 2 of you if any.

c) Numeric keypad now works.

d) By default, the old "dot menu" asking you to enter .<return> or .e to
   edit, .q to quit has been turned off in favour of a simple question such
   as s to send, e to edit or a to abort.  You can turn the dot menu back on
   by entering dotmenu 1 in PCELM.RC or use DIS.EXE 1.16 to maintain it.
   DIS.EXE 1.16 and later maintains all of the useful configuration options
   in PCELM now including the colours.  The dotmenu 0 or off option, which is
   the default, only works if you have the feature to automatically go into
   your editor at the start of a mail message turned on (use-ed 1 in
   PCELM.RC).  Once again, use DIS.EXE 1.16 to maintain this.

e) The "Sending to.." message sometimes started halfway along the screen.
   Now moved to a new line.

f) 'l' list queue now reprints the screen if you delete a message and has
   a cursor bar you move up and down.  Move the cursor to the required
   message and you can press the space bar or e to edit the complete text
   file or w to edit the work (envelope) file. d deletes, l locks and u
   unlocks.

g) Reading the PCELM.RC file now allows:

   <identifier> a string with spaces

   This used to have to be:

   <identifier> "a string with spaces"

   This means that DIS.EXE doesn't have to do anything clever and fixes
   mutliple reply-to's and optional header entries when entered by DIS.EXE
   Also a keyword followed by nothing caused it to be unpredictable.

h) Edit the alias file uses your editor rather than builtin+

i) reply now doesn't clear the screen if not using the dot menu.  Also
   the correct messages are returned and displayed afterwards
   (sent, not sent etc.)

j) having composed a message you already have the opportunity to re-edit it.
   When you do so you will be presented with the complete headers and may
   edit these.  Some validation is done but not much so be careful.  If you
   edit the To: Cc: or Bcc: lines then the appropriate messages will be
   sent.  Bcc: means blind copy this mail message to somebody else -
   the headers of the message remain untouched and a recipient gets a copy
   of the message even though his name does not appear in the To: or Cc:
   list.  The Bcc: line is physically removed from all messages before they
   are sent so nobody knows who gets the blind copies.

k) saveall has a new value option of 3.  This is for saving to folders and
   it works the same as 2 except that it only save to <addressee> if that
   folder already exists else it will save to =sent.  This stops too many
   folders being created.

l) When showing who a message is from, if that name is the full mailbox
   user's name, the To: line is shown instead.  This stops you seeing your
   own name lots of times and gives you a better idea of what the message
   is about.  Real (Unix) Elm does this.

-------------------------------------------------------------------------

1.6 DIS 13th October 1993

TO GET A PROPERLY WORKING SYSTEM YOU MUST:

1. Copy the enclosed PCELM.ENG file over the top of you PCELM.MSG file.
   Your PCELM.MSG file is normally in ~/SPOOL/MAIL

2. Alter the Colours in your PCELM.RC file - it is best to use the DIS
   Edit PCELM.RC option on the Configure Mail menu for this.  If you wish to
   edit your .RC files outside of DIS you will have to edit <username>.rc.
   I have added an extra colour which is heading colour so you must add this
   to your existing list.  This is documented in the sample PCELM.RC file
   enclosed with this and also below.  To see my suggested colours edit
   PCELM.RC to have:

COLORS 1f,4f,2f,07,6f,71

   If you don't like them you can change them!

The order in which the menu is printed, the help screens and
where bold is used on the display etc. have all been altered.

I have Merged in the  3.1 sources - thus introducing a whole lot of bugs
again :(  I think I've got most of them.

Please note that DISPC.TXT has been updated with a fairly comprehensive
section on PCElm - you can download /pub/doc/ka9q/dispc.txt

Features from the 3.1 source:
    Space or RETURN now lets you view messages

    pager is supported - our pager code is now removed

    Cc: is asked for when composing a new mail message
    (Msg 244 in PCELM.MSG should be "     Cc: ")

    help 1 in pcelm.rc will turn off the 4 lines indicating which key
    presses do what on the main screen and give you 16 msgs per screen
    In fact I have increased this to 17 - see below.  I have added a new
    option h to the program which toggles this.

    use-ed 1 in pcelm.rc will invoke your editor straight away when
    sending a mail message instead of having to type .e 

    opthdr0 "MAIL-HEADER: This" used for putting your own header
    messages into mail messages.  Put in pcelm.rc - Up to 10 msgs to opthdr9
    quote "> " etc. for reply to's.

    ask-toggle added to PCELM.RC.  If you change user mailbox within PCElm
    it asks you to enter the new user's full name.  If ask-toggle is not
    set or set to 0 the program won't ask you.  You are better off changing
    user using DIS.EXE anyway.
    
    MIME - 3.1 supports MIME to a certain extent.  Demon Internet staff
    don't!  We will be looking at this in later versions.

Features added by us and not the authors:

Made standard screen display 11 messages and extend the "with out any help"
display to 17 as this seems more balanced.

Please note that where options have been added to PCELM.RC you will need
to edit them by hand.  DIS.EXE 1.16 has been upgraded to support all of the
new features and so when you can download that and use it to configure -
you may well find it easier.

Added new colour "Heading Colour" - add on to the list of colours in pcelm.rc
If you *don't* do this you *may* get the default setting of blue on white
but this is *not* guaranteed!  Suggested colors are:
COLORS 1f,4f,2f,07,6f,71

After reading a message, screen is updated to show message as read.

Clear screen on entry to the program

Alias file now works across multiple lines by leaving white space at the
start of the continuation line e.g.
info this@that.com
list a@b.c
    c@d.e
    f@g.h
other the@what.ever you@there.that

is a valid list of three different aliases

Folder handling
===============

At long last we have folder handling.  This is designed to be similar
to UNIX Elm.  Your normal mailbox is ~\SPOOL\MAIL\<username>.TXT.  You 
now save into folders which are in a directory ~\SPOOL\MAIL\<username>.
These folders can have the name of the addressee, RECEIVED or SENT.  The
defualt for this is determined by saveall and defaultreceived which are
two new configuration options in PCELM.RC:

saveall=0-2
If not set or set to 0 then no saving happens (just as before).
1 = all outgoing messages get auto saved in ~\SPOOL\MAIL\<username>\SENT
2 = all outgoing messages get auto saved in ~\SPOOL\MAIL\<username>\<addressee>

# default to =received when saving incoming messages. 0 = no 1 = yes
defaultreceived=0

After using s or w to save a message, it is auto marked as D for
delete.  If saveall is set to 2, the default for saving defaults to
=<username> where <username> is the name of the sender e.g. grahame@demon.net
will default to grahame. The = means append to a folder directory which will
be a directory below your HOME directory (normally ~/SPOOL/MAIL/<username>)
as described above. Removing the = will cause it to append to the given file
name just as it did in previous versions of PCElm.  Putting in a folder name
that is not found and then saying N to Do You Want to Create it? no longer
bombs you out of the program.

Use ! to save to your normal live incoming mailbox, < to save to your SENT
folder or > to save to your RECEIVED folder.

When changing folders use the = syntax or !, < or >. e.g. Use your name
without the = or just ! to change back to your normal live mailbox.
Use < to change to your SENT folder or > to change to your RECEIVED folder.
Use =grahame to change to your grahame folder ~\SPOOl\MAIL\<username>\GRAHAME

Other
=====

Tidied up opening front screen

Allowed ending a session on ESC as well as Q - i.e. file *will* be updated

Added exitconfirm=1 or 0 to PCELM.RC - defaults to 0 which is "don't ask"
else asks End Session? Press Y or N on pressing ESC/Q - this is the
same as SNEWS.  To enable add
exitconfirm=1
to the end of your PCELM.RC file.  The DIS.EXE program version 1.15 
onwards will enable you to do this from Configure Mail.

Fixed built in editor so that when composing messages and using the TAB
key it put a TAB char in the text and not CTRL O.  Also Pressing TAB
twice in a row only moved the cursor once - now fixed.

Addes enablemime to PCELM.RC.  If not present or 0 then PCElm will not
try to read mail messages using mime.  Set to 1 to turn it on.

PCElm now adds the --_ before your signature.  Some of you may wish to
suppress this and so you need the following in PCELM.RC
nosigdashes=1

Removed some duplicate printing to the screen when just cursoring through
the list of messages.

Item 9) from 1.5 said:

9) weedout lines "not working".  weedout only works if using the internal
pager to view incoming mail.  This is not a bug, just a "feature".

They appear to have fixed this in 3.1!

Changed "reply to" so that it doesn't move the cursor to the next message
down when you have finished.

Messages that appear on the bottom of the screen automatically clear after
a few seconds.

As supplied PCElm doesn't handle multiple names on the To: line
correctly or Cc: lines. It splits them into mulitple mail messages
altering the To and CC lines on each one.  This is wrong.  What it
should do (and I have now done) is keep the To and CC lines the same
on every message but simply send the message to each of those recipients.
e.g. To grahame@demon.net cliff@demon.net
    *was* doing
    To: grahame@demon.net
    cc: cliff@demon.net
    and
    To: cliff@demon.net
    cc: grahame@demon.net
and should now do:
    To: grahame@demon.net, cliff@demon.net
    To: grahame@demon.net, cliff@demon.net
with no cc: line.

Added .txt to the mailtext filename so that editor's that auto turn on
word wrap for .txt files will work.

Reply now asks for a CC: line - thanks to Cliff.

added slash_ed - if not set or 0 then PCElm uses \ for the editor
filename.  If set to 1 PCElm uses / so that some versions of vi will
work.

If underline _ appears in the quote element of PCELM.RC then it is
substituted with a space e.g.

quote >_

will indent as:

> If underline _ appears in the quote element of PCELM.RC then it is
> substituted with a space e.g.

<grahame@demon.net>
----------------------------------------------------------------------------

1.5 DIS  10 Aug 93


1)  Printing with 'P' works.
2)  You can delete an unread message.
3)  You don't get stupid comments at 100 messages.
4)  ^U works.

cliff@demon.net.

5) Took out Giles' patch for FQDN in 1.14. Can't see why he put it in and it
stopped alias expansion in lines with FQDNs on working.
e.g. <alias> grahame@demon.net would not expand <alias>.  Can't reproduce the
fault he was trying to fix but guess his fix in 2) of 1.14 fixed the problem
anyway.

6)    Title line shortened so that when mailbox is changed the title line
still fits on one line.

7) Added .q to quit to pcelm.eng for first message to be seen when sending
mail.  Altered pcelm.eng so that amateur/ham radio becomes Internet to save
confusion.

8) When writing a new mail there is the option '.m num' which should
include mail number 'num' (from the received mail list) into the 
current message. It was out by one message so that entering '.m 1' actually
picks up the second mail message.  Now fixed.

9) weedout lines "not working".  weedout only works if using the internal
pager to view incoming mail.  This is not a bug, just a "feature".

10) If the From: line in an incoming mail message had more than one space
after it, a blank sender name would appear on the screen and the reply-to
address would default to blank.  Both problems have been fixed.

11) When sending a letter, lines auto wrap at 80 characters using the
built in "editor".

<grahame@demon.net>
----------------------------------------------------------------------------
1.4 DIS  14 Mar 93

1) Fixed header misparsing caused by long "Received" lines.

2) Fixed problem whereby aliases which were substrings of other aliases
would be expanded incorrectly.

3) Fully qualified addresses are no longer subjected to inappropriate
alias expansion.

<gt@rundart.demon.co.uk>
----------------------------------------------------------------------------
1.3 gt

1) New "pcelm.rc" command: "pager".  Specifies an optional paging
program for reading mail.  The default is PCelm's own "more" emulation.
----------------------------------------------------------------------------
1.2 gt

1) Now saves and restores the screen on entry and exit.

2) Fixed reply subject "Re: Re: ..." problem.

3) Reply quote string is now "> " rather than ">".

4) Now ignores case when scanning RFC822 header field names.  This
change fixes occasional glitches when quoting replies.

5) "Message-Id" -> "Message-ID".

6) The "Cc:" fields now conform to RFC822.
----------------------------------------------------------------------------
