Subject: Mail Reader Question??

From: Dan Mullen <[email-masked]>
Date: Mon, 17 Jul 1995 13:23:24 -0400

When using Pine as a Mail Reader...what command marks
the individual msg as "read" ?
I don't want to delete the message or expunge it from
the group...I just don't want to see it again the next
day when I read my newsgroup. Thanks.

Regards,
                    
Dan Mullen
[email-masked]     ************************************************
                     *         What a way to Spend a Day.            *
                     *                                               *
                     * Lets keep it that way by being CONSTRUCTIVE.  *
                     *************************************************

---

From: Mike Brudenell <[email-masked]>
Date: Tue, 18 Jul 1995 10:21:25 +0100 (BST)

Your question is actually mixing up to quite different underlying types 
of message: e-mail and Usenet News.  These work and are handled in 
different ways "down below", but are presented to you the user in as 
similar a way as possible.

Here's an attempt to answer...

E-mail
------
When e-mail messages arrive they are delivered to (written into) a file 
that is personal to you; no-one else (normally!) has access to it.  Each 
e-mail message has some status information (called the "header") saved 
along with the actual text itself.  For example, with one of the most 
common UNIX mailbox formats (the "Berkeley" format) whether or not a 
message has been read, marked for deletion, etc is recorded in a header 
line called "Status:".

E-mail messages stay in your mail folder until:
	*  You mark them for deletion ("Status:" becomes "D"), and
	*  You expunge your mailbox (all "Status: D" messages get removed)

The normal situation for e-mail is *not* to delete them until you have 
"finished with them", and expunge them soon after.

Usenet News
-----------
Usenet News articles are *not* delivered to a personal file just for 
you.  Typically there are several hundred megabytes of News arriving 
daily, so you *really* wouldn't want copies of all that arriving and 
being held separately for each user!

Instead articles are held centrally on a server computer.  These are then 
accessed by mail reading programs in some way, often using the "NNTP" 
protocol.

News reading programs -- be it Pine, Tin, etc -- keep a file (often called
".newsrc" on UNIX) listing the newsgroups you have subscribed to.  This
allows them to show you just these groups without all the other
"uninteresting" newsgroups listed as well.  Naturally you can subsequently
add to or remove groups from this list. 

The .newsrc file also lists, for each subscribed group, the numbers of 
the articles that you have seen/finished with.  This lets the news 
reading program show only the other, new, articles and hide those you 
have already read and finished with.  You can override this if you wish 
to see the complete list again.

The format of the .newsrc file is very limiting: an article's identifying 
number is either listed in it (it's read and finished with) or not.  So 
it can only record these two states.

Conventional news readers work with these two states.  They mark an
article as "seen" (add it to the list of read articles in the .newsrc
file) as soon as you have read it.  This happens whether or not you want 
to keep the article around to refer to a little later.

Pine attempts to adopt an approach more akin to e-mail.  Specifically it 
keeps articles listed until you *explicitly* say you have finished with 
them by using the "D" command to "Delete" them (but see the note below on 
article lifetimes).  Only this actually records the article as "finished 
with" by adding its identifying number to your .newsrc file.  When you 
subsequently read the newsgroup in Pine the deleted articles will not be 
listed.

Remember, however, that Usenet News is a *shared* collection of articles 
held on a server machine.  It wouldn't make sense to allow you, for 
example, to actually *delete* an article on the server as someone else 
may still want to read it.  So you "deleting" a Usenet News article 
merely updates your .newsrc file and doesn't affect the news server in 
any way.

This means that in Pine, just as with a conventional news reader, you can
see the full list of available articles (including those you have
"deleted").  You do this by using the "&" (Unexclude) command.

Indeed, in keeping with this the "X" command (usually "eXpunge") is renamed 
"eXclude" to try and indicate that its effect it reversible.  Thus an "X" 
simply *excludes* deleted News articles from the list; you can get them 
back with an "&" command.

The normal way of reading news with Pine is:
	*  Read an article
	*  If you have finished with the article delete it by typing "D",
	   otherwise just move on to another article (the one you were
	   reading will remain in the list)

Some people are surprised when an article they have read but not deleted 
is shown as New again when they next read News using Pine.

Recall that the .newsrc file can only hold two states for each article: 
	*  finished with
	*  not finished with
However Pine uses three states, in keeping with the e-mail paradigm:
	*  finished with (recorded in the .newsrc file)
	*  new (unseen) article
	*  old article (seen but not deleted)

Obviously it is not possible to keep these three states recorded in a 
.newsrc file that can only handle two!  So by default Pine marks all 
undeleted (new and old) articles as New when the newsgroup is next read.  

However Pine also offers a feature that can be turned on that attempts to 
"guess" which "not finished with" articles are new and which are old 
(seen).  You enable this in the Setup Configuration screen by setting the 
"news-approximates-new-status" feature.

What this does is look for the deleted article with the greatest 
identifying number.  It then *assumes* that all undeleted articles with 
smaller identifying numbers have already been read (because they were 
around when you deleted the one with the higher number) and lists them as 
"seen".  Articles with higher numbers are then *assumed* to be new, and 
marked as such with an "N" status.

This works pretty well, but gets confused if you skip articles but delete 
later ones (unseen articles erroneously get marked as seen), or you read 
articles after the last deleted one (seen articles get marked as new).

However on the whole it works pretty well, certainly enough to be very 
useful and worth turning on.

Article Lifetimes
-----------------
A final note about article lifetimes.  Don't assume that just because you 
don't delete a News article it will remain available.  Remember that the 
news server doesn't know whether or not you have "finished with" 
(deleted) an article.  After a certain period of time depending on how it 
is configured the news server will delete articles that have been around 
for a while.

So if you definitely want to keep a copy of an article either print it 
out or save it to another folder (just as if it was an ordinary e-mail 
message).

Hope this helps... (must go and rest my fingers now! :-)

Mike Brudenell                                         <[email-masked]>
------------------------------------------------------------------------
The Computing Service, University of York, Heslington, York, YO1 5DD, UK
Tel: +44-1904-433811  FAX: +44-1904-433740  http://www.york.ac.uk/~pmb1/