Gnus development mailing list
 help / color / mirror / Atom feed
From: Rob Browning <rlb@cs.utexas.edu>
Subject: Re: some mail annoyances
Date: 28 Jul 1999 02:36:30 -0500	[thread overview]
Message-ID: <87so696xa9.fsf@raven.localnet> (raw)
In-Reply-To: <m37lohnomf.fsf@quimbies.gnus.org>


(Having mail problems.  First try bounced.  Hope everyone doesn't get
 this twice.)

Lars Magne Ingebrigtsen <larsi@gnus.org> writes:

>    Gnus, by default, handles all its group using the same approach.

(A while back, I started this elaboration to your post and then forgot
 about it.  Now that I've come across it again, I don't really have
 time ATM to polish it up properly, but perhaps it's got some merit as
 is.

 I don't know if you'll find it useful, and perhaps it should go in
 some other section of the docs, but I thought it might help the new
 but somewhat clueful user understand what's going on with mail expiry
 so that they'll be better equipped to decide how they'd like to
 handle their own mail.  Feel free to correct any errors.  This was
 drawn from my current understanding of mail article disposition, but
 I very well may have it wrong...

 Oh, and I'm missing a few useful cross-references in here, and I need
 the code snippet at the bottom that explains how to get Gnus to
 "re-mark" read articles to dormant (or whatever) just after you read
 them.)

Gnus, by default, wants to handle all its groups, both mail and news,
using the same approach.

This approach is very newsreaderly --- when you enter a group, you
will see any new or unread messages.  Whenever you read a message, it
will get marked as read, and you won't see it again unless you
explicitly ask for it.  You will also always see any messages that you
have marked as ticked (!), and any message you marked as dormant, but
you'll only see the dormant ones if and only if it has unread or
ticked followup articles.

This explains what you can expect to *see*, but this tells you nothing
about one of the more important issues when using Gnus for mail, that
of article lifetimes, of determining when your articles be deleted
forever.

For news groups, message "deletion" (or expiry) is handled by the news
server.  After some period of time, older messages are just gone, so
if you want to keep some of them around, you better do something about
it (*note Persistent Articles::.).  Until messages are expired
(deleted) by the server, you can always ask to see them again.

With mail articles, it's more complex.  Mail articles are stored
locally, on your machine, so it's up to you to decide how articles
might eventually meet their demise.  Which options you want will
depend on your own personal habits, and perhaps more importantly, on
how you think about the content of a given mail group; is it this a
group where you want to keep most of the articles, or one you just
skim for the high points and don't care too much about older content?
As usual, Gnus gives you plenty of rope to hang... ahem, uh, rather a
plethora of options for handling the situation.

First it's important to note how the non-scoring marks interact with
mail article disposition.  Ticked, dormant, and unread articles will
never be deleted through an automatic process.  It's only the read
(and expired -- more later) articles that you have to be concerned
with.  Further, if you mark any mail articles as persistent, even
though the actual mail group article might be deleted through the
mechanisms described below, the cached copy will still be available.

So how does Gnus decide which articles to delete?  Gnus makes the
decision based on the article's non-scoring marks and its age.  From
the perspective of mail article expiry (deletion) purposes, there are
three main types of mail groups, total-expirable ones, auto-expirable
ones, and "manually-expirable" ones.

In total-expirable groups, any read articles will eventually be
deleted.  Since Gnus, by default, marks articles you've looked at as
"read", this means that most articles in total-expirable groups will
eventually be deleted unless you intervene and change the article's
mark.  When the deletion happens is controlled by the setting of
expiry-wait.  To keep an article from being deleted, you have to make
sure it's marked as either ticked, dormant, or unread.  Gnus scans
total-expirable groups when they are exited for all read articles that
match the current expiration criterion; matching articles are deleted.
For large groups, this can be expensive, so you may want to use
demon-expiry --- it's quite slick.  Also, total-expirable groups are
the only ones that will let you play with all of Gnus' scoring related
bells and whistles.  In particular, this is the only group type for
which adaptive scoring works because it's the only one that doesn't
rely on the expirable mark ('E'). (Marking an article as expirable
messes up adaptive scoring because Gnus can no longer determine the
difference between read and deleted articles (is that the right
explanation?)).

In auto-expirable and manually-expirable groups, read articles are
never automatically deleted, only articles explicitly marked expirable
(articles that have, one way or another, been given the 'E' mark),
will be deleted according to expiry-wait.  The difference between
auto-expirable and manually-expirable groups is in how the articles
get marked as expired.  In auto-expirable groups, any article you read
is automatically switched (just after you read it) from "read" to
expirable (i.e. the mark changes from 'r' or 'R' to 'E'), so the
default for articles you look at, if you do nothing else to them, is
for them end up marked expired ('E').  In manually-expirable groups,
no article is ever marked as expirable unless you specifically expire
it.

To summarize, the main difference between total-expirable groups and
the other two is that total-expirable groups actually allow all of
Gnus' fancy scoring stuff (specifically adaptive scoring) to work
right, but you can't expect read articles to stick around like you can
in manually-expirable or auto-expirable groups.  The main difference
between manually and auto expirable groups is how articles get marked
as expirable.

For completeness, I'll also mention that if you really want to
power-nuke a particular message right this second, then you can do
that with 'B del'.  This command tells the group backend to do
whatever it takes to banish the offending message to never-never land
*right now*.  This really isn't the best way to handle deleting your
mail, but it's there if you really really want/need it.

The one other issue relevant to mail article deletion is what mark
mail articles are given just after you look at them.  Normally, this
is 'R', or the "read" mark, but you might want to change that to
better accomodate the expiration behavior you've chosen when
considered in the context of the particular mail group in question.
If you choose total-expire for a group, then the default of marking a
read article with an 'R' means that it's scheduled for expiration.  In
groups where you normally delete most of the articles, this might be
exactly what you want, but if it's a group where you normally want to
keep all the articles, having to go back and re-mark each article as
dormant just after you read it can be a pain.  Accordingly, you can
tell Gnus to change the default mark that an articles end up with just
after you read them.  To do that, just use something like this:

  (Need code here, but I forgot what the proper bit of magic was...)

>    What many Gnus users find, after using it a while for both news and
> mail, is that the transport becomes more and more irrelevant.  What
> becomes important is the size of the receiving audience.
> 
>    Many people subscribe to several mailing lists.  These are
> transported via SMTP, and are therefore mail.  Some people have local
> news groups which have only a handful of readers.  These are
> transported via NNTP, and are therefore news.
> 
>    The important distinction turns out to be not the transport
> mechanism, but whether the messages are "personal" or "public".  Many
> users then subtly alter the behavior of Gnus according to these two
> categories.
> 
>    Some users never get comfortable using the Gnus (ahem) paradigm and
> wish that Gnus should grow up and be a male, er, mail reader.  It is
> possible to whip Gnus into a more mailreaderly being, but, as said
> before, it's not easy.  People who prefer proper mail readers should
> try VM instead, which is an excellent, and proper, mail reader.
> 
>    I don't mean to scare anybody off, but I want to make it clear that
> you may be required to learn a new way of thinking about messages.
> After you've been subjected to The Gnus Way, you will come to love it.
> I can guarantee it.  (At least the guy who sold me the Emacs Subliminal
> Brain-Washing Functions that I've put into Gnus did guarantee it.  You
> Will Be Assimilated.  You Love Gnus.  You Love The Gnus Mail Way.  You
> Do.)
> 
> 
> -- 
> (domestic pets only, the antidote for overdose, milk.)
>   larsi@gnus.org * Lars Magne Ingebrigtsen
> 
> 

-- 
Rob Browning <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930


      parent reply	other threads:[~1999-07-28  7:36 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-06-22  0:36 Per Bothner
1999-06-22  2:04 ` Stainless Steel Rat
1999-06-22  8:20 ` Kai.Grossjohann
1999-06-22  8:23 ` Kai.Grossjohann
1999-06-22 12:00   ` Harry Putnam
1999-06-22 22:34     ` Karl Kleinpaste
1999-06-23  7:39     ` Kai.Grossjohann
1999-06-23 14:25   ` Wes Hardaker
1999-06-22 12:53 ` Per Abrahamsen
1999-06-22 17:48   ` some mail annoyances [renumbering] Per Bothner
1999-06-22 18:20     ` Karl Kleinpaste
1999-06-23  7:00       ` Jaap-Henk Hoepman
1999-06-23  7:44         ` Kai.Grossjohann
1999-06-23  7:50           ` Per Abrahamsen
1999-06-23  8:18           ` Jaap-Henk Hoepman
1999-06-22 18:58     ` Per Abrahamsen
1999-06-22 19:29       ` Sam Falkner
1999-06-22 19:33         ` Finding a given in an nnml group (was: Re: some mail annoyances [renumbering]) Laura Conrad
1999-06-22 19:48           ` Jack Twilley
1999-06-22 19:48           ` Per Abrahamsen
1999-06-23  6:54           ` Kai.Grossjohann
1999-06-23 15:36             ` Laura Conrad
1999-06-23 17:46               ` Per Abrahamsen
1999-06-24  9:10               ` Kai.Grossjohann
1999-06-24 20:39           ` Justin Sheehy
1999-06-22 21:13         ` some mail annoyances [renumbering] Tony Lam
1999-06-23  7:05         ` Steinar Bang
1999-06-23 19:33         ` David Hedbor
1999-06-25 23:25           ` Kai.Grossjohann
1999-06-26  0:27             ` David Hedbor
1999-06-28 15:45               ` Karl Kleinpaste
1999-06-23  6:45     ` Kai.Grossjohann
1999-06-23 18:34       ` Being forced to deal with message numbers and frustrated Tony Lam
1999-06-23 19:56         ` Stainless Steel Rat
1999-06-23 22:13           ` Tony Lam
1999-06-24  0:20             ` Stainless Steel Rat
1999-06-24  6:44               ` Tony Lam
1999-06-24  9:19                 ` Kai.Grossjohann
1999-06-24  9:21                 ` Kai.Grossjohann
1999-06-24 14:58               ` Peter von der Ahé - at home
1999-06-24 15:37                 ` Norbert Koch
1999-06-24 17:58                   ` Tony Lam
1999-06-25 19:47                   ` David Hedbor
1999-06-25 20:56                     ` Matt Pharr
1999-06-28  1:53                       ` Tony Lam
1999-06-24 15:48                 ` Lee Willis
1999-06-24 18:01                   ` Tony Lam
1999-06-24  8:42             ` Per Abrahamsen
1999-06-24 17:05               ` Sam Falkner
1999-06-24 23:06                 ` Sam Falkner
1999-06-24  9:17             ` Kai.Grossjohann
1999-06-24  9:14         ` Kai.Grossjohann
1999-06-24 19:00           ` Tony Lam
1999-06-24 20:41             ` David S. Goldberg
1999-06-24 21:07             ` Kai.Grossjohann
1999-06-24 21:38               ` Tony Lam
1999-06-25  6:14                 ` Soeren Laursen
1999-07-04  1:30         ` Lars Magne Ingebrigtsen
1999-06-22 18:33   ` some mail annoyances [deleting mail] Per Bothner
1999-06-22 18:33     ` Jack Twilley
1999-06-22 18:54       ` Karl Kleinpaste
1999-06-22 19:15     ` Per Abrahamsen
1999-06-23  7:10       ` Jaap-Henk Hoepman
1999-06-23  7:32         ` Yair Friedman
1999-06-23  7:46         ` Kai.Grossjohann
1999-06-23 12:13         ` Randal L. Schwartz
1999-06-22 19:18     ` Nathan Williams
1999-06-23  7:51       ` Per Bothner
1999-06-23  6:58     ` Kai.Grossjohann
1999-06-23  7:23     ` Yair Friedman
1999-07-04  1:37     ` Lars Magne Ingebrigtsen
1999-06-22 19:37   ` some mail annoyances David S. Goldberg
1999-06-23  0:48   ` Dmitry Yaitskov
1999-06-23  7:42     ` Per Abrahamsen
1999-06-23  7:49       ` Kai.Grossjohann
1999-06-23 14:20       ` Dmitry Yaitskov
1999-06-23 19:15         ` some mail annoyances [article number overflow] Karl Kleinpaste
1999-06-23 21:02           ` Colin Rafferty
1999-06-23 21:09             ` Karl Kleinpaste
1999-06-22 12:58 ` some mail annoyances David S. Goldberg
1999-06-22 14:33 ` Steinar Bang
1999-06-22 16:43   ` Vin Shelton
1999-06-23  6:42     ` Kai.Grossjohann
1999-06-23  6:47     ` Jaap-Henk Hoepman
1999-06-23 14:24 ` Wes Hardaker
1999-06-24 21:19 ` Per Bothner
1999-06-25  3:18   ` Christian Nybø
1999-06-25 20:34     ` Ken McGlothlen
1999-06-25 23:51       ` Harry Putnam
1999-06-26  0:07         ` Ken McGlothlen
1999-06-26  0:19           ` Stainless Steel Rat
1999-06-26  2:05             ` Harry Putnam
1999-06-26  2:28               ` Stainless Steel Rat
1999-06-26  2:46                 ` Harry Putnam
1999-06-27 13:32                   ` Stainless Steel Rat
1999-06-27 21:15                     ` Harry Putnam
1999-06-28 23:43                       ` Stainless Steel Rat
1999-06-27 22:30                     ` Kai.Grossjohann
1999-06-28  2:49                       ` Harry Putnam
1999-06-28  8:09                         ` Kai.Grossjohann
1999-06-28 15:24                           ` Harry Putnam
1999-06-28 15:50                             ` Kai.Grossjohann
1999-06-26  9:32                 ` Kai.Grossjohann
1999-06-27 13:34                   ` Stainless Steel Rat
1999-06-28 13:58             ` Kim-Minh Kaplan
1999-06-26 13:16           ` Per Abrahamsen
1999-06-28 15:37             ` Karl Kleinpaste
1999-06-28 20:43               ` Wes Hardaker
1999-06-28 20:57                 ` Karl Kleinpaste
1999-06-25  5:10   ` Russ Allbery
1999-06-25 13:21   ` Per Abrahamsen
1999-06-25 13:25     ` Didier Verna
1999-06-25 13:39       ` Karl Kleinpaste
1999-06-25 13:43       ` Karl Kleinpaste
1999-06-25 13:52         ` customizing (was Re: some mail annoyances) Paul Stevenson
1999-07-04  2:19 ` some mail annoyances Lars Magne Ingebrigtsen
1999-07-04  2:44   ` Harry Putnam
1999-07-04  3:19     ` Lars Magne Ingebrigtsen
1999-07-04  6:15       ` Harry Putnam
1999-07-04  6:37         ` Lars Magne Ingebrigtsen
1999-07-04  6:51           ` Harry Putnam
1999-07-04 13:15           ` Hrvoje Niksic
1999-07-04 17:00     ` Kai.Grossjohann
1999-07-04 19:01       ` Harry Putnam
1999-07-04 19:31         ` Kai.Grossjohann
1999-07-04  6:37   ` Hans de Graaff
1999-07-05  3:11     ` Lars Magne Ingebrigtsen
1999-07-04 16:58   ` Kai.Grossjohann
1999-07-05  3:13     ` Lars Magne Ingebrigtsen
1999-07-05  9:28       ` Kai.Grossjohann
1999-07-06  3:58         ` Lars Magne Ingebrigtsen
1999-07-05  7:45     ` Jaap-Henk Hoepman
1999-07-06  4:02       ` Lars Magne Ingebrigtsen
1999-07-06  6:47         ` Jaap-Henk Hoepman
1999-07-06 15:54           ` Lars Magne Ingebrigtsen
1999-07-05 16:22     ` Robert Bihlmeyer
1999-07-05 18:32       ` François Pinard
1999-07-07 11:30         ` Robert Bihlmeyer
1999-07-07 14:20           ` François Pinard
1999-07-07 14:22             ` Lee Willis
1999-07-12 11:40             ` Robert Bihlmeyer
1999-07-06  3:59       ` Lars Magne Ingebrigtsen
1999-07-13  5:22     ` Rob Browning
1999-07-13 11:29       ` Kai Großjohann
1999-07-04 18:18   ` lconrad
1999-07-05  3:17     ` Lars Magne Ingebrigtsen
1999-07-07  0:34   ` Peter von der Ahé
1999-07-07  2:46     ` lconrad
1999-07-09 16:59     ` Lars Magne Ingebrigtsen
1999-07-09 18:39       ` Peter von der Ahé
1999-07-09 19:15         ` Lars Magne Ingebrigtsen
1999-07-28  7:36   ` Rob Browning [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87so696xa9.fsf@raven.localnet \
    --to=rlb@cs.utexas.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).