\f
* Changes in Oort Gnus
+** Gnus decodes morse encoded messages if you press W m.
+
** Unread count correct in nnimap groups.
The estimated number of unread articles in the group buffer should now
This change was made to avoid conflict with the standard binding of
`back-to-indentation', which is also useful in message mode.
+** Bug fixes.
+
\f
* Changes in Pterodactyl Gnus (5.8/5.9)
2002-11-18 Simon Josefsson <jas@extundo.com>
+ * gnus-sum.el (gnus-summary-morse-message): New function.
+ (gnus-summary-wash-map): Bind to `W m'.
+ (gnus-summary-make-menu-bar): Add.
+
* nnimap.el (nnimap-request-expire-articles): Compress sequence
before storing \Deleted mark on expired articles.
"f" gnus-article-display-x-face
"l" gnus-summary-stop-page-breaking
"r" gnus-summary-caesar-message
+ "m" gnus-summary-morse-message
"t" gnus-summary-toggle-header
"g" gnus-treat-smiley
"v" gnus-summary-verbose-headers
["Rot 13" gnus-summary-caesar-message
,@(if (featurep 'xemacs) '(t)
'(:help "\"Caesar rotate\" article by 13"))]
+ ["Morse decode" gnus-summary-morse-message t]
["Unix pipe..." gnus-summary-pipe-message t]
["Add buttons" gnus-article-add-buttons t]
["Add buttons to head" gnus-article-add-buttons-to-head t]
(message-caesar-buffer-body arg)
(set-window-start (get-buffer-window (current-buffer)) start))))))
+(defun gnus-summary-morse-message (&optional arg)
+ "Morse decode the current article."
+ (interactive "P")
+ (gnus-summary-select-article)
+ (let ((mail-header-separator ""))
+ (gnus-eval-in-buffer-window gnus-article-buffer
+ (save-excursion
+ (save-restriction
+ (widen)
+ (let ((start (window-start))
+ (end (window-end))
+ buffer-read-only)
+ (goto-char start)
+ (while (re-search-forward "ยท" end t)
+ (replace-match "."))
+ (unmorse-region start end)
+ (set-window-start (get-buffer-window (current-buffer))
+ start)))))))
+
(defun gnus-summary-stop-page-breaking ()
"Stop page breaking in the current article."
(interactive)
+2002-11-16 Kai Gro\e,A_\e(Bjohann <kai.grossjohann@uni-duisburg.de>
+
+ * gnus.texi (Expiring Mail): Give summary on difference between
+ auto-expire and total-expire and provide information for choosing
+ between them.
+
+2002-11-18 Simon Josefsson <jas@extundo.com>
+
+ * gnus.texi (Article Washing): Add morse.
+
2002-11-17 Simon Josefsson <jas@extundo.com>
* gnus.texi (Expiring in IMAP): Add.
\e$B%5%k$,$3$N7A<0$N!"$(!<$H!"$A$g$C$H4JC1$J0E9f2=$r:NMQ$7$?$H$$$&1=$,$"$k$+\e(B
\e$B$i$G$9!#\e(B
+@item W m
+@kindex W m (\e$B35N,\e(B)
+@findex gnus-summary-morse-message
+@c @icon{gnus-summary-morse-message}
+\e$B5-;v%P%C%U%!$r%b!<%k%9I|9f$7$^$9\e(B (@code{gnus-summary-morse-message})\e$B!#\e(B
+
@item W t
@item t
@kindex W t (\e$B35N,\e(B)
\e$B$?$,$=$&$7$m$H?R$M$J$$8B$j$NOC$G$9$,!#\e(B
Gnus \e$B$KK>$^$7$/$J$$%a!<%k$r:o=|$5$;$k$?$a$K$O!"5-;v$r\e(B @dfn{\e$B4|8B@Z$l>C5n\e(B
-\e$B2DG=\e(B} (expirable) \e$B$H$7$F0u$rIU$1$J$1$l$P$J$j$^$;$s!#$7$+$7$J$,$i!"$3$l$O\e(B
-\e$B5-;v$,B(:B$K>C$(5n$k$H$$$&;v$G$O$"$j$^$;$s!#0lHLE*$K!"%a!<%k5-;v$O<!$N$h\e(B
-\e$B$&$J>l9g$K%7%9%F%`$K$h$C$F:o=|$5$l$^$9\e(B 1) \e$B4|8B@Z$l>C5n2DG=$N0u$rIU$1$i$l\e(B
-\e$B$k\e(B 2) \e$B0l=54V0J>e7P$C$?5-;v$G$"$k!#$b$75-;v$r4|8B@Z$l>C5n2DG=$K$7$J$1$l$P!"\e(B
-\e$B$=$l$OCO9v$,E`$j$D$/$^$G%7%9%F%`$K;D$j$D$E$1$^$9!#$3$l$O$b$&0lEY6/D4IU$-\e(B
-\e$B$G7+$jJV$5$l$k$KB-$k$b$N$G$9\e(B: ``\e$B$b$7\e(B'' \e$B$"$J$?$,5-;v\e(B
+\e$B2DG=\e(B} (expirable) \e$B$H$7$F0u$rIU$1$J$1$l$P$J$j$^$;$s!#\e(B(\e$B%G%#%U%)%k%H$N%-!<\e(B
+\e$B3d$jEv$F$G$O!"\e(B@kbd{E} \e$B$r%?%$%W$7$J$1$l$P$J$i$J$$$3$H$r0UL#$7$^$9!#\e(B) \e$B$7$+\e(B
+\e$B$7$J$,$i!"$3$l$O5-;v$,B(:B$K>C$(5n$k$H$$$&;v$G$O$"$j$^$;$s!#0lHLE*$K!"%a!<\e(B
+\e$B%k5-;v$O<!$N$h$&$J>l9g$K%7%9%F%`$K$h$C$F:o=|$5$l$^$9\e(B 1) \e$B4|8B@Z$l>C5n2DG=\e(B
+\e$B$N0u$rIU$1$i$l$k\e(B 2) \e$B0l=54V0J>e7P$C$?5-;v$G$"$k!#$b$75-;v$r4|8B@Z$l>C5n2D\e(B
+\e$BG=$K$7$J$1$l$P!"$=$l$OCO9v$,E`$j$D$/$^$G%7%9%F%`$K;D$j$D$E$1$^$9!#$3$l$O\e(B
+\e$B$b$&0lEY6/D4IU$-$G7+$jJV$5$l$k$KB-$k$b$N$G$9\e(B: ``\e$B$b$7\e(B'' \e$B$"$J$?$,5-;v\e(B
\e$B$r\e(B ``\e$B4|8B@Z$l>C5n2DG=\e(B'' \e$B$G$"$k$H\e(B ``\e$B$7$J$$\e(B'' \e$B$J$i!"\e(Bgnus \e$B$O\e(B ``\e$B7h$7$F\e(B'' \e$B$=\e(B
\e$B$l$i$N\e(B ``\e$B5-;v\e(B'' \e$B$r>C5n$7$^$;$s!#\e(B
+\e$B<j:n6H$G5-;v$K4|8B@Z$l>C5n2DG=$N0u$rIU$1$J$1$l$P$J$i$J$$$o$1$G$O$"$j$^$;\e(B
+\e$B$s!#\e(Bgnus \e$B$O\e(B `auto-expire' \e$B$*$h$S\e(B `total-expire' \e$B$H8F$P$l$kFs$D$N5!G=$rDs\e(B
+\e$B6!$7$F!"$"$J$?$N<j=u$1$r$7$^$9!#$+$$$D$^$s$G8@$($P!"\e(B`auto-expire' \e$B$O$"$J\e(B
+\e$B$?$,5-;v$rA*Br$7$?$H$-$K\e(B gnus \e$B$,\e(B @kbd{E} \e$B$rC!$$$F$/$l$k$3$H$r0UL#$7$^$9!#\e(B
+\e$B$=$7$F\e(B `total-expire' \e$B$O!"$9$Y$F$N4{FI$N5-;v$O4|8B@Z$l>C5n2DG=$G$"$k\e(B
+\e$B$H\e(B gnus \e$B$,2r<a$9$k$3$H$r0UL#$7$^$9!#$7$?$,$C$F\e(B @samp{E} \e$B$N0u$,IU$1$i$l$?\e(B
+\e$B5-;v$K2C$($F!"\e(B@samp{r}, @samp{R}, @samp{O}, @samp{K}, @samp{Y} \e$B$J$I$N0u\e(B
+\e$B$,IU$1$i$l$?5-;v$b4|8B@Z$l>C5n2DG=$G$"$k$H2r<a$5$l$^$9!#\e(B
+
+Auto-expire \e$B$^$?$O\e(B total-expire \e$B$O!"$$$D;HMQ$5$l$k$Y$-$G$9$+\e(B? \e$B%a!<%j%s%0\e(B
+\e$B%j%9%H$r9XFI$7$F$$$k$[$H$s$I$N?M!9$O!"$=$l$>$l$N%j%9%H$r$=$l<+?H$N%0%k!<\e(B
+\e$B%W$KJ,3d$7!"$=$l$i$N%0%k!<%W$KBP$7$F\e(B auto-expire \e$B$^$?$O\e(B total-expire \e$B$r\e(B
+\e$BM-8z$K$7$^$9!#\e(B(@xref{Splitting Mail}, \e$B$=$l$>$l$N%j%9%H$N$=$l<+?H$N%0%k!<\e(B
+\e$B%W$X$NJ,3d$K$D$$$F$N$5$i$J$k>pJs!#\e(B)
+
+Auto-expire \e$B$^$?$O\e(B total-expire \e$B$N$I$A$i$,NI$$$G$9$+\e(B? \e$B$=$l$OEz$($K$/$$$G\e(B
+\e$B$9!#35$7$F8@$($P!"$?$V$s\e(B auto-expire \e$B$,B.$$$G$7$g$&!#\e(Bauto-expire \e$B$NJL$N\e(B
+\e$BMxE@$O$h$jB?$/$N%^!<%/$r;H$($k\e(B - \e$B:F$SFI$`$3$H$K$J$C$F$$$k\e(B (be supposed
+to stick around \e$B$N0ULu\e(B) \e$B5-;v$K$D$$$F$O!":#$^$G$I$*$j2D;k\e(B (tick)\e$B!"J]\e(B
+\e$BN1\e(B (dormant) \e$B$^$?$O4{FI\e(B (read) \e$B$NCf$+$iA*$V$3$H$,$G$-$k\e(B - \e$B$H$$$&$3$H$G$9!#\e(B
+\e$B$7$+$7\e(B total-expire \e$B$G$O\e(B dormant \e$B$H\e(B ticked \e$B$+$i$7$+A*$Y$^$;$s!#\e(B
+total-expire \e$B$NMxE@$O!"E,1~%9%3%"IU$1\e(B @pxref{Adaptive Scoring} \e$B$GNI9%$K\e(B
+\e$BF/$/$3$H$G$9!#\e(BAuto-expire \e$B$ODL>o$N%9%3%"IU$1$G$OF0:n$7$^$9$,!"E,1~%9%3%"\e(B
+\e$BIU$1$G$O$@$a$G$9!#\e(B
+
@vindex gnus-auto-expirable-newsgroups
-\e$B<j$G5-;v$K4|8B@Z$l>C5n2DG=$N0u$rIU$1$J$1$l$P$J$i$J$$$o$1$G$O$"$j$^$;$s!#\e(B
\e$B@55,I=8=\e(B @code{gnus-auto-expirable-newsgroups} \e$B$K9gCW$9$k%0%k!<%W$OA4$F\e(B
\e$B$N4{FI5-;v$K<+F0E*$K4|8B@Z$l>C5n2DG=$N0u$,IU$1$i$l$^$9!#A4$F$N4|8B@Z$l>C\e(B
\e$B5n2DG=$N0u$NIU$$$?5-;v$O35N,%P%C%U%!$N:G=i$N7e$K\e(B @samp{E} \e$B$,I=<($5$l$^$9!#\e(B
IMAP \e$B$NJ,3d\e(B (@pxref{Splitting in IMAP}) \e$B$G$O\e(B @sc{nnmail} \e$B$NJQ?t$rJ#@=$7\e(B
\e$B$J$$\e(B (\e$BNc$($P\e(B @var{nnimap-expiry-wait} \e$B$r@8@.$7$J$$\e(B) \e$BE@$,0c$&$N$G$9$,!"\e(B
@sc{nnmail} \e$B$NJQ?t$rN.MQ$7$^$9!#0J2<$O\e(B @sc{nnimap} \e$B$N4|8B@Z$l>C5n=hM}$G\e(B
-\e$B;H$o$l$kJQ?t$H!";HMQJ}K!$K4XO"$7$?Cm<a$G$9!#\e(B
+\e$B;H$o$l$kJQ?t$G$9!#\e(B
\e$B4|8B@Z$l>C5n$N0u$,$I$N$h$&$KE,@Z$K\e(B @sc{imap} \e$B%5!<%P!<$K5-O?$5$l$k$+$K$D\e(B
\e$B$$$F$b$3$3$G8@5Z$7$F$*$-$^$7$g$&!#4|8B@Z$l>C5n$N0u$O\e(B @sc{imap} \e$B%/%i%$%"\e(B
\e$B%8$,I,MW$H$9$k$b$N$O2?$G$"$l!"$"$J$?$O%$%s%9%H!<%k$9$Y$-$G$9!#:#$N$H$3$m\e(B
\e$BI,MW$J$N$O\e(B @samp{gnus}, @samp{w3}, @samp{mh-e}, @samp{mailcrypt},
@samp{rmail}, @samp{eterm}, @samp{mail-lib}, @samp{xemacs-base} \e$B$*$h$S\e(B
-@samp{fsf-compat} \e$B$G$9!#\e(B
+@samp{fsf-compat} \e$B$G$9!#%b!<%k%9I|9f$N$?$a$K$O\e(B @samp{misc-games} \e$B%Q%C%1!<\e(B
+\e$B%8$,I,MW$G$9!#\e(B
@node History
@section \e$BNr;K\e(B
#15). It is sometimes referred to as ``Caesar rotate'' because Caesar
is rumored to have employed this form of, uh, somewhat weak encryption.
+@item W m
+@kindex W m (Summary)
+@findex gnus-summary-morse-message
+@c @icon{gnus-summary-morse-message}
+Morse decode the article buffer (@code{gnus-summary-morse-message}).
+
@item W t
@item t
@kindex W t (Summary)
course.
To make Gnus get rid of your unwanted mail, you have to mark the
-articles as @dfn{expirable}. This does not mean that the articles will
-disappear right away, however. In general, a mail article will be
+articles as @dfn{expirable}. (With the default keybindings, this means
+that you have to type @kbd{E}.) This does not mean that the articles
+will disappear right away, however. In general, a mail article will be
deleted from your system if, 1) it is marked as expirable, AND 2) it is
more than one week old. If you do not mark an article as expirable, it
will remain on your system until hell freezes over. This bears
repeating one more time, with some spurious capitalizations: IF you do
NOT mark articles as EXPIRABLE, Gnus will NEVER delete those ARTICLES.
+You do not have to mark articles as expirable by hand. Gnus provides
+two features, called `auto-expire' and `total-expire', that can help you
+with this. In a nutshell, `auto-expire' means that Gnus hits @kbd{E}
+for you when you select an article. And `total-expire' means that Gnus
+considers all articles as expirable that are read. So, in addition to
+the articles marked @samp{E}, also the articles marked @samp{r},
+@samp{R}, @samp{O}, @samp{K}, @samp{Y} and so on are considered
+expirable.
+
+When should either auto-expire or total-expire be used? Most people
+who are subscribed to mailing lists split each list into its own group
+and then turn on auto-expire or total-expire for those groups.
+(@xref{Splitting Mail}, for more information on splitting each list
+into its own group.)
+
+Which one is better, auto-expire or total-expire? It's not easy to
+answer. Generally speaking, auto-expire is probably faster. Another
+advantage of auto-expire is that you get more marks to work with: for
+the articles that are supposed to stick around, you can still choose
+between tick and dormant and read marks. But with total-expire, you
+only have dormant and ticked to choose from. The advantage of
+total-expire is that it works well with adaptive scoring @pxref{Adaptive
+Scoring}. Auto-expire works with normal scoring but not with adaptive
+scoring.
+
@vindex gnus-auto-expirable-newsgroups
-You do not have to mark articles as expirable by hand. Groups that
-match the regular expression @code{gnus-auto-expirable-newsgroups} will
-have all articles that you read marked as expirable automatically. All
-articles marked as expirable have an @samp{E} in the first
-column in the summary buffer.
+Groups that match the regular expression
+@code{gnus-auto-expirable-newsgroups} will have all articles that you
+read marked as expirable automatically. All articles marked as
+expirable have an @samp{E} in the first column in the summary buffer.
By default, if you have auto expiry switched on, Gnus will mark all the
articles you read as expirable, no matter if they were read or unread
Unlike splitting in IMAP (@pxref{Splitting in IMAP}) it do not clone
the @sc{nnmail} variables (i.e., creating @var{nnimap-expiry-wait})
but reuse the @sc{nnmail} variables. What follows below are the
-variables used by the @sc{nnimap} expiry process and any related notes
-on their usage.
+variables used by the @sc{nnimap} expiry process.
A note on how the expire mark is stored on the @sc{imap} server is
appropriate here as well. The expire mark is translated into a
-@sc{imap} client specific mark @code{gnus-expire} and store on the
-message. This means that only likely only Gnus will understand and
-treat the @code{gnus-expire} mark properly, although other clients may
-allow to view client specific flags on a message. It also means that
-your server must support the permanent storage of client specific
-flags on messages. Most do, fortunately.
+@sc{imap} client specific mark, @code{gnus-expire}, and stored on the
+message. This means that likely only Gnus will understand and treat
+the @code{gnus-expire} mark properly, although other clients may allow
+you to view client specific flags on the message. It also means that
+your server must support permanent storage of client specific flags on
+messages. Most do, fortunately.
@table @code
whatever packages the Gnus XEmacs package requires. The current
requirements are @samp{gnus}, @samp{w3}, @samp{mh-e},
@samp{mailcrypt}, @samp{rmail}, @samp{eterm}, @samp{mail-lib},
-@samp{xemacs-base}, and @samp{fsf-compat}.
+@samp{xemacs-base}, and @samp{fsf-compat}. The @samp{misc-games}
+package is required for Morse decoding.
@node History