comparison man/gnus.texi @ 49600:23a1cea22d13

Trailing whitespace deleted.
author Juanma Barranquero <lekktu@gmail.com>
date Tue, 04 Feb 2003 14:56:31 +0000
parents bf2ab88cad81
children 695cf19ef79e d7ddb3e565de
comparison
equal deleted inserted replaced
49599:5ade352e8d1c 49600:23a1cea22d13
625 * NNTP:: Reading news from an @sc{nntp} server. 625 * NNTP:: Reading news from an @sc{nntp} server.
626 * News Spool:: Reading news from the local spool. 626 * News Spool:: Reading news from the local spool.
627 627
628 Getting Mail 628 Getting Mail
629 629
630 * Mail in a Newsreader:: Important introductory notes. 630 * Mail in a Newsreader:: Important introductory notes.
631 * Getting Started Reading Mail:: A simple cookbook example. 631 * Getting Started Reading Mail:: A simple cookbook example.
632 * Splitting Mail:: How to create mail groups. 632 * Splitting Mail:: How to create mail groups.
633 * Mail Sources:: How to tell Gnus where to get mail from. 633 * Mail Sources:: How to tell Gnus where to get mail from.
634 * Mail Back End Variables:: Variables for customizing mail handling. 634 * Mail Back End Variables:: Variables for customizing mail handling.
635 * Fancy Mail Splitting:: Gnus can do hairy splitting of incoming mail. 635 * Fancy Mail Splitting:: Gnus can do hairy splitting of incoming mail.
1186 @vindex gnus-subscribe-killed 1186 @vindex gnus-subscribe-killed
1187 Kill all new groups. 1187 Kill all new groups.
1188 1188
1189 @item gnus-subscribe-topics 1189 @item gnus-subscribe-topics
1190 @vindex gnus-subscribe-topics 1190 @vindex gnus-subscribe-topics
1191 Put the groups into the topic that has a matching @code{subscribe} topic 1191 Put the groups into the topic that has a matching @code{subscribe} topic
1192 parameter (@pxref{Topic Parameters}). For instance, a @code{subscribe} 1192 parameter (@pxref{Topic Parameters}). For instance, a @code{subscribe}
1193 topic parameter that looks like 1193 topic parameter that looks like
1194 1194
1195 @example 1195 @example
1196 "nnslashdot" 1196 "nnslashdot"
1197 @end example 1197 @end example
1198 1198
1199 will mean that all groups that match that regex will be subscribed under 1199 will mean that all groups that match that regex will be subscribed under
1200 that topic. 1200 that topic.
1201 1201
1202 If no topics match the groups, the groups will be subscribed in the 1202 If no topics match the groups, the groups will be subscribed in the
1203 top-level topic. 1203 top-level topic.
1204 1204
1484 read all the replies in one swoop. This will normally result in better 1484 read all the replies in one swoop. This will normally result in better
1485 performance, but if the server does not support the aforementioned 1485 performance, but if the server does not support the aforementioned
1486 @code{LIST ACTIVE group} command, this isn't very nice to the server. 1486 @code{LIST ACTIVE group} command, this isn't very nice to the server.
1487 1487
1488 If you think that starting up Gnus takes too long, try all the three 1488 If you think that starting up Gnus takes too long, try all the three
1489 different values for this variable and see what works best for you. 1489 different values for this variable and see what works best for you.
1490 1490
1491 In any case, if you use @code{some} or @code{nil}, you should definitely 1491 In any case, if you use @code{some} or @code{nil}, you should definitely
1492 kill all groups that you aren't interested in to speed things up. 1492 kill all groups that you aren't interested in to speed things up.
1493 1493
1494 Note that this variable also affects active file retrieval from 1494 Note that this variable also affects active file retrieval from
2696 Elements that look like @code{(ignored-charsets x-known iso-8859-1)} 2696 Elements that look like @code{(ignored-charsets x-known iso-8859-1)}
2697 will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the 2697 will make @code{iso-8859-1} and @code{x-unknown} ignored; that is, the
2698 default charset will be used for decoding articles. 2698 default charset will be used for decoding articles.
2699 2699
2700 See also @code{gnus-group-ignored-charsets-alist}. 2700 See also @code{gnus-group-ignored-charsets-alist}.
2701 2701
2702 @item posting-style 2702 @item posting-style
2703 You can store additional posting style information for this group only 2703 You can store additional posting style information for this group only
2704 here (@pxref{Posting Styles}). The format is that of an entry in the 2704 here (@pxref{Posting Styles}). The format is that of an entry in the
2705 @code{gnus-posting-styles} alist, except that there's no regexp matching 2705 @code{gnus-posting-styles} alist, except that there's no regexp matching
2706 the group name (of course). Style elements in this group parameter will 2706 the group name (of course). Style elements in this group parameter will
3276 convention (@pxref{Process/Prefix}). 3276 convention (@pxref{Process/Prefix}).
3277 3277
3278 @item T j 3278 @item T j
3279 @kindex T j (Topic) 3279 @kindex T j (Topic)
3280 @findex gnus-topic-jump-to-topic 3280 @findex gnus-topic-jump-to-topic
3281 Go to a topic (@code{gnus-topic-jump-to-topic}). 3281 Go to a topic (@code{gnus-topic-jump-to-topic}).
3282 3282
3283 @item T c 3283 @item T c
3284 @kindex T c (Topic) 3284 @kindex T c (Topic)
3285 @findex gnus-topic-copy-group 3285 @findex gnus-topic-copy-group
3286 Copy the current group to some other topic 3286 Copy the current group to some other topic
3521 In addition, the following parameters are only valid as topic 3521 In addition, the following parameters are only valid as topic
3522 parameters: 3522 parameters:
3523 3523
3524 @table @code 3524 @table @code
3525 @item subscribe 3525 @item subscribe
3526 When subscribing new groups by topic (@pxref{Subscription Methods}), the 3526 When subscribing new groups by topic (@pxref{Subscription Methods}), the
3527 @code{subscribe} topic parameter says what groups go in what topic. Its 3527 @code{subscribe} topic parameter says what groups go in what topic. Its
3528 value should be a regexp to match the groups that should go in that 3528 value should be a regexp to match the groups that should go in that
3529 topic. 3529 topic.
3530 3530
3531 @end table 3531 @end table
3532 3532
3533 Group parameters (of course) override topic parameters, and topic 3533 Group parameters (of course) override topic parameters, and topic
3534 parameters in sub-topics override topic parameters in super-topics. You 3534 parameters in sub-topics override topic parameters in super-topics. You
3640 '(((nntp "news.com.cn") . cn-gb-2312))) 3640 '(((nntp "news.com.cn") . cn-gb-2312)))
3641 @end lisp 3641 @end lisp
3642 3642
3643 @item gnus-group-name-charset-group-alist 3643 @item gnus-group-name-charset-group-alist
3644 @vindex gnus-group-name-charset-group-alist 3644 @vindex gnus-group-name-charset-group-alist
3645 An alist of regexp of group name and the charset for group names. 3645 An alist of regexp of group name and the charset for group names.
3646 It is used to show non-ASCII group names. 3646 It is used to show non-ASCII group names.
3647 3647
3648 For example: 3648 For example:
3649 @lisp 3649 @lisp
3650 (setq gnus-group-name-charset-group-alist 3650 (setq gnus-group-name-charset-group-alist
4496 If given a numerical prefix, you can do semi-manual charset stuff. 4496 If given a numerical prefix, you can do semi-manual charset stuff.
4497 @kbd{C-u 0 g cn-gb-2312 @key{RET}} will decode the message as if it were 4497 @kbd{C-u 0 g cn-gb-2312 @key{RET}} will decode the message as if it were
4498 encoded in the @code{cn-gb-2312} charset. If you have 4498 encoded in the @code{cn-gb-2312} charset. If you have
4499 4499
4500 @lisp 4500 @lisp
4501 (setq gnus-summary-show-article-charset-alist 4501 (setq gnus-summary-show-article-charset-alist
4502 '((1 . cn-gb-2312) 4502 '((1 . cn-gb-2312)
4503 (2 . big5))) 4503 (2 . big5)))
4504 @end lisp 4504 @end lisp
4505 4505
4506 then you can say @kbd{C-u 1 g} to get the same effect. 4506 then you can say @kbd{C-u 1 g} to get the same effect.
4507 4507
4729 4729
4730 @item S o p 4730 @item S o p
4731 @kindex S o p @r{(Summary)} 4731 @kindex S o p @r{(Summary)}
4732 @findex gnus-summary-post-forward 4732 @findex gnus-summary-post-forward
4733 Forward the current article to a newsgroup 4733 Forward the current article to a newsgroup
4734 (@code{gnus-summary-post-forward}). 4734 (@code{gnus-summary-post-forward}).
4735 If no prefix is given, the message is forwarded according to the value 4735 If no prefix is given, the message is forwarded according to the value
4736 of (@code{message-forward-as-mime}) and 4736 of (@code{message-forward-as-mime}) and
4737 (@code{message-forward-show-mml}); if the prefix is 1, decode the 4737 (@code{message-forward-show-mml}); if the prefix is 1, decode the
4738 message and forward directly inline; if the prefix is 2, forward message 4738 message and forward directly inline; if the prefix is 2, forward message
4739 as an rfc822 MIME section; if the prefix is 3, decode message and 4739 as an rfc822 MIME section; if the prefix is 3, decode message and
6552 If you'd like to save articles in a hierarchy that looks something like 6552 If you'd like to save articles in a hierarchy that looks something like
6553 a spool, you could 6553 a spool, you could
6554 6554
6555 @lisp 6555 @lisp
6556 (setq gnus-use-long-file-name '(not-save)) ; to get a hierarchy 6556 (setq gnus-use-long-file-name '(not-save)) ; to get a hierarchy
6557 (setq gnus-default-article-saver 6557 (setq gnus-default-article-saver
6558 'gnus-summary-save-in-file) ; no encoding 6558 'gnus-summary-save-in-file) ; no encoding
6559 @end lisp 6559 @end lisp
6560 6560
6561 Then just save with @kbd{o}. You'd then read this hierarchy with 6561 Then just save with @kbd{o}. You'd then read this hierarchy with
6562 ephemeral @code{nneething} groups---@kbd{G D} in the group buffer, and 6562 ephemeral @code{nneething} groups---@kbd{G D} in the group buffer, and
7430 You can give the command a numerical prefix to specify the width to use 7430 You can give the command a numerical prefix to specify the width to use
7431 when filling. 7431 when filling.
7432 7432
7433 @item W Q 7433 @item W Q
7434 @kindex W Q @r{(Summary)} 7434 @kindex W Q @r{(Summary)}
7435 @findex gnus-article-fill-long-lines 7435 @findex gnus-article-fill-long-lines
7436 Fill long lines (@code{gnus-article-fill-long-lines}). 7436 Fill long lines (@code{gnus-article-fill-long-lines}).
7437 7437
7438 @item W C 7438 @item W C
7439 @kindex W C @r{(Summary)} 7439 @kindex W C @r{(Summary)}
7440 @findex gnus-article-capitalize-sentences 7440 @findex gnus-article-capitalize-sentences
7478 makes strings look like @samp{~@{<:Ky2;S@{#,NpJ)l6HK!#~@}}. 7478 makes strings look like @samp{~@{<:Ky2;S@{#,NpJ)l6HK!#~@}}.
7479 7479
7480 @item W h 7480 @item W h
7481 @kindex W h @r{(Summary)} 7481 @kindex W h @r{(Summary)}
7482 @findex gnus-article-wash-html 7482 @findex gnus-article-wash-html
7483 Treat HTML (@code{gnus-article-wash-html}). 7483 Treat HTML (@code{gnus-article-wash-html}).
7484 Note that the this is usually done automatically by Gnus if the message 7484 Note that the this is usually done automatically by Gnus if the message
7485 in question has a @code{Content-Type} header that says that this type 7485 in question has a @code{Content-Type} header that says that this type
7486 has been done. 7486 has been done.
7487 7487
7488 @item W f 7488 @item W f
7822 @table @kbd 7822 @table @kbd
7823 @item A t 7823 @item A t
7824 @kindex A t @r{(Summary)} 7824 @kindex A t @r{(Summary)}
7825 @findex gnus-article-babel 7825 @findex gnus-article-babel
7826 Translate the article from one language to another 7826 Translate the article from one language to another
7827 (@code{gnus-article-babel}). 7827 (@code{gnus-article-babel}).
7828 7828
7829 @end table 7829 @end table
7830 7830
7831 7831
7832 @node MIME Commands 7832 @node MIME Commands
8527 @cindex move mail 8527 @cindex move mail
8528 @findex gnus-summary-move-article 8528 @findex gnus-summary-move-article
8529 @vindex gnus-preserve-marks 8529 @vindex gnus-preserve-marks
8530 Move the article from one mail group to another 8530 Move the article from one mail group to another
8531 (@code{gnus-summary-move-article}). Marks will be preserved if 8531 (@code{gnus-summary-move-article}). Marks will be preserved if
8532 @var{gnus-preserve-marks} is non-@code{nil} (which is the default). 8532 @var{gnus-preserve-marks} is non-@code{nil} (which is the default).
8533 8533
8534 @item B c 8534 @item B c
8535 @kindex B c @r{(Summary)} 8535 @kindex B c @r{(Summary)}
8536 @cindex copy mail 8536 @cindex copy mail
8537 @findex gnus-summary-copy-article 8537 @findex gnus-summary-copy-article
9275 (@code{gnus-mime-copy-part}). 9275 (@code{gnus-mime-copy-part}).
9276 9276
9277 @findex gnus-mime-view-part-as-type 9277 @findex gnus-mime-view-part-as-type
9278 @item t @r{(Article)} 9278 @item t @r{(Article)}
9279 View the @sc{mime} object as if it were a different @sc{mime} media type 9279 View the @sc{mime} object as if it were a different @sc{mime} media type
9280 (@code{gnus-mime-view-part-as-type}). 9280 (@code{gnus-mime-view-part-as-type}).
9281 9281
9282 @findex gnus-mime-pipe-part 9282 @findex gnus-mime-pipe-part
9283 @item | @r{(Article)} 9283 @item | @r{(Article)}
9284 Output the @sc{mime} object to a process (@code{gnus-mime-pipe-part}). 9284 Output the @sc{mime} object to a process (@code{gnus-mime-pipe-part}).
9285 9285
9425 @vindex gnus-part-display-hook 9425 @vindex gnus-part-display-hook
9426 You can, of course, write your own functions to be called from 9426 You can, of course, write your own functions to be called from
9427 @code{gnus-part-display-hook}. The functions are called narrowed to the 9427 @code{gnus-part-display-hook}. The functions are called narrowed to the
9428 part, and you can do anything you like, pretty much. There is no 9428 part, and you can do anything you like, pretty much. There is no
9429 information that you have to keep in the buffer---you can change 9429 information that you have to keep in the buffer---you can change
9430 everything. 9430 everything.
9431 9431
9432 9432
9433 @node Article Keymap 9433 @node Article Keymap
9434 @section Article Keymap 9434 @section Article Keymap
9435 9435
10512 @enumerate 10512 @enumerate
10513 @item 10513 @item
10514 The file contains one or more line, each of which define one server. 10514 The file contains one or more line, each of which define one server.
10515 10515
10516 @item 10516 @item
10517 Each line may contain an arbitrary number of token/value pairs. 10517 Each line may contain an arbitrary number of token/value pairs.
10518 10518
10519 The valid tokens include @samp{machine}, @samp{login}, @samp{password}, 10519 The valid tokens include @samp{machine}, @samp{login}, @samp{password},
10520 @samp{default}. In addition Gnus introduces two new tokens, not present 10520 @samp{default}. In addition Gnus introduces two new tokens, not present
10521 in the original @file{.netrc}/@code{ftp} syntax, namely @samp{port} and 10521 in the original @file{.netrc}/@code{ftp} syntax, namely @samp{port} and
10522 @samp{force}. (This is the only way the @file{.authinfo} file format 10522 @samp{force}. (This is the only way the @file{.authinfo} file format
10571 10571
10572 The default value is 10572 The default value is
10573 10573
10574 @lisp 10574 @lisp
10575 '(("nntpd 1\\.5\\.11t" 10575 '(("nntpd 1\\.5\\.11t"
10576 (remove-hook 'nntp-server-opened-hook 10576 (remove-hook 'nntp-server-opened-hook
10577 'nntp-send-mode-reader))) 10577 'nntp-send-mode-reader)))
10578 @end lisp 10578 @end lisp
10579 10579
10580 This ensures that Gnus doesn't send the @code{MODE READER} command to 10580 This ensures that Gnus doesn't send the @code{MODE READER} command to
10581 nntpd 1.5.11t, since that command chokes that server, I've been told. 10581 nntpd 1.5.11t, since that command chokes that server, I've been told.
10712 define a server as follows: 10712 define a server as follows:
10713 10713
10714 @lisp 10714 @lisp
10715 ;; Type `C-c C-c' after you've finished editing. 10715 ;; Type `C-c C-c' after you've finished editing.
10716 ;; 10716 ;;
10717 ;; "snews" is port 563 and is predefined 10717 ;; "snews" is port 563 and is predefined
10718 ;; in our /etc/services 10718 ;; in our /etc/services
10719 ;; 10719 ;;
10720 (nntp "snews.bar.com" 10720 (nntp "snews.bar.com"
10721 (nntp-open-connection-function 10721 (nntp-open-connection-function
10722 nntp-open-ssl-stream) 10722 nntp-open-ssl-stream)
10723 (nntp-port-number "snews") 10723 (nntp-port-number "snews")
10724 (nntp-address "snews.bar.com")) 10724 (nntp-address "snews.bar.com"))
10725 @end lisp 10725 @end lisp
10726 10726
10876 10876
10877 Reading mail with a newsreader---isn't that just plain WeIrD? But of 10877 Reading mail with a newsreader---isn't that just plain WeIrD? But of
10878 course. 10878 course.
10879 10879
10880 @menu 10880 @menu
10881 * Mail in a Newsreader:: Important introductory notes. 10881 * Mail in a Newsreader:: Important introductory notes.
10882 * Getting Started Reading Mail:: A simple cookbook example. 10882 * Getting Started Reading Mail:: A simple cookbook example.
10883 * Splitting Mail:: How to create mail groups. 10883 * Splitting Mail:: How to create mail groups.
10884 * Mail Sources:: How to tell Gnus where to get mail from. 10884 * Mail Sources:: How to tell Gnus where to get mail from.
10885 * Mail Back End Variables:: Variables for customizing mail handling. 10885 * Mail Back End Variables:: Variables for customizing mail handling.
10886 * Fancy Mail Splitting:: Gnus can do hairy splitting of incoming mail. 10886 * Fancy Mail Splitting:: Gnus can do hairy splitting of incoming mail.
10895 10895
10896 10896
10897 @node Mail in a Newsreader 10897 @node Mail in a Newsreader
10898 @subsection Mail in a Newsreader 10898 @subsection Mail in a Newsreader
10899 10899
10900 If you are used to traditional mail readers, but have decided to switch 10900 If you are used to traditional mail readers, but have decided to switch
10901 to reading mail with Gnus, you may find yourself experiencing something 10901 to reading mail with Gnus, you may find yourself experiencing something
10902 of a culture shock. 10902 of a culture shock.
10903 10903
10904 Gnus does not behave like traditional mail readers. If you want to make 10904 Gnus does not behave like traditional mail readers. If you want to make
10905 it behave that way, you can, but it's an uphill battle. 10905 it behave that way, you can, but it's an uphill battle.
10906 10906
10907 Gnus, by default, handles all its groups using the same approach. This 10907 Gnus, by default, handles all its groups using the same approach. This
10908 approach is very newsreaderly---you enter a group, see the new/unread 10908 approach is very newsreaderly---you enter a group, see the new/unread
10909 messages, and when you read the messages, they get marked as read, and 10909 messages, and when you read the messages, they get marked as read, and
10913 10913
10914 Does this mean that all the messages that have been marked as read are 10914 Does this mean that all the messages that have been marked as read are
10915 deleted? How awful! 10915 deleted? How awful!
10916 10916
10917 But, no, it means that old messages are @dfn{expired} according to some 10917 But, no, it means that old messages are @dfn{expired} according to some
10918 scheme or other. For news messages, the expire process is controlled by 10918 scheme or other. For news messages, the expire process is controlled by
10919 the news administrator; for mail, the expire process is controlled by 10919 the news administrator; for mail, the expire process is controlled by
10920 you. The expire process for mail is covered in depth in @pxref{Expiring 10920 you. The expire process for mail is covered in depth in @pxref{Expiring
10921 Mail}. 10921 Mail}.
10922 10922
10923 What many Gnus users find, after using it a while for both news and 10923 What many Gnus users find, after using it a while for both news and
11069 @kindex nnmail-split-history 11069 @kindex nnmail-split-history
11070 If you wish to see where the previous mail split put the messages, you 11070 If you wish to see where the previous mail split put the messages, you
11071 can use the @kbd{M-x nnmail-split-history} command. If you wish to see 11071 can use the @kbd{M-x nnmail-split-history} command. If you wish to see
11072 where re-spooling messages would put the messages, you can use 11072 where re-spooling messages would put the messages, you can use
11073 @code{gnus-summary-respool-trace} and related commands (@pxref{Mail 11073 @code{gnus-summary-respool-trace} and related commands (@pxref{Mail
11074 Group Commands}). 11074 Group Commands}).
11075 11075
11076 Gnus gives you all the opportunity you could possibly want for shooting 11076 Gnus gives you all the opportunity you could possibly want for shooting
11077 yourself in the foot. Let's say you create a group that will contain 11077 yourself in the foot. Let's say you create a group that will contain
11078 all the mail you get from your boss. And then you accidentally 11078 all the mail you get from your boss. And then you accidentally
11079 unsubscribe from the group. Gnus will still put all the mail from your 11079 unsubscribe from the group. Gnus will still put all the mail from your
11144 11144
11145 @lisp 11145 @lisp
11146 (file) 11146 (file)
11147 @end lisp 11147 @end lisp
11148 11148
11149 If the mail spool file is not located on the local machine, it's best to 11149 If the mail spool file is not located on the local machine, it's best to
11150 use POP or @sc{imap} or the like to fetch the mail. You can not use ange-ftp 11150 use POP or @sc{imap} or the like to fetch the mail. You can not use ange-ftp
11151 file names here---it has no way to lock the mail spool while moving the 11151 file names here---it has no way to lock the mail spool while moving the
11152 mail. 11152 mail.
11153 11153
11154 If it's impossible to set up a proper server, you can use ssh instead. 11154 If it's impossible to set up a proper server, you can use ssh instead.
11155 11155
11335 @end table 11335 @end table
11336 11336
11337 Two example maildir mail sources: 11337 Two example maildir mail sources:
11338 11338
11339 @lisp 11339 @lisp
11340 (maildir :path "/home/user-name/Maildir/" 11340 (maildir :path "/home/user-name/Maildir/"
11341 :subdirs ("cur" "new")) 11341 :subdirs ("cur" "new"))
11342 @end lisp 11342 @end lisp
11343 11343
11344 @lisp 11344 @lisp
11345 (maildir :path "/user@@remotehost.org:~/Maildir/" 11345 (maildir :path "/user@@remotehost.org:~/Maildir/"
11346 :subdirs ("new")) 11346 :subdirs ("new"))
11347 @end lisp 11347 @end lisp
11348 11348
11349 @item imap 11349 @item imap
11350 Get mail from a @sc{imap} server. If you don't want to use @sc{imap} 11350 Get mail from a @sc{imap} server. If you don't want to use @sc{imap}
11433 @end table 11433 @end table
11434 11434
11435 An example @sc{imap} mail source: 11435 An example @sc{imap} mail source:
11436 11436
11437 @lisp 11437 @lisp
11438 (imap :server "mail.mycorp.com" 11438 (imap :server "mail.mycorp.com"
11439 :stream kerberos4 11439 :stream kerberos4
11440 :fetchflag "\\Seen") 11440 :fetchflag "\\Seen")
11441 @end lisp 11441 @end lisp
11442 11442
11443 @item webmail 11443 @item webmail
11444 Get mail from a webmail server, such as www.hotmail.com, 11444 Get mail from a webmail server, such as www.hotmail.com,
11474 @end table 11474 @end table
11475 11475
11476 An example webmail source: 11476 An example webmail source:
11477 11477
11478 @lisp 11478 @lisp
11479 (webmail :subtype 'hotmail 11479 (webmail :subtype 'hotmail
11480 :user "user-name" 11480 :user "user-name"
11481 :password "secret") 11481 :password "secret")
11482 @end lisp 11482 @end lisp
11483 @end table 11483 @end table
11484 11484
11485 @table @dfn 11485 @table @dfn
11493 If non-nil, fetch the mail even when Gnus is unplugged. If you use 11493 If non-nil, fetch the mail even when Gnus is unplugged. If you use
11494 directory source to get mail, you can specify it as in this example: 11494 directory source to get mail, you can specify it as in this example:
11495 11495
11496 @lisp 11496 @lisp
11497 (setq mail-sources 11497 (setq mail-sources
11498 '((directory :path "/home/pavel/.Spool/" 11498 '((directory :path "/home/pavel/.Spool/"
11499 :suffix "" 11499 :suffix ""
11500 :plugged t))) 11500 :plugged t)))
11501 @end lisp 11501 @end lisp
11502 11502
11503 Gnus will then fetch your mail even when you are unplugged. This is 11503 Gnus will then fetch your mail even when you are unplugged. This is
11702 ("subject" "ding" "ding.misc")) 11702 ("subject" "ding" "ding.misc"))
11703 ;; Other mailing lists... 11703 ;; Other mailing lists...
11704 (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list") 11704 (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list")
11705 (any "SmartList@@informatik\\.rwth-aachen\\.de" "SmartList.list") 11705 (any "SmartList@@informatik\\.rwth-aachen\\.de" "SmartList.list")
11706 ;; Both lists below have the same suffix, so prevent 11706 ;; Both lists below have the same suffix, so prevent
11707 ;; cross-posting to mkpkg.list of messages posted only to 11707 ;; cross-posting to mkpkg.list of messages posted only to
11708 ;; the bugs- list, but allow cross-posting when the 11708 ;; the bugs- list, but allow cross-posting when the
11709 ;; message was really cross-posted. 11709 ;; message was really cross-posted.
11710 (any "bugs-mypackage@@somewhere" "mypkg.bugs") 11710 (any "bugs-mypackage@@somewhere" "mypkg.bugs")
11711 (any "mypackage@@somewhere\" - "bugs-mypackage" "mypkg.list") 11711 (any "mypackage@@somewhere\" - "bugs-mypackage" "mypkg.list")
11712 ;; People... 11712 ;; People...
12717 method described above) on a per-group basis. That is, @code{nnmbox} 12717 method described above) on a per-group basis. That is, @code{nnmbox}
12718 itself puts *all* one's mail in one file; @code{nnfolder} provides a 12718 itself puts *all* one's mail in one file; @code{nnfolder} provides a
12719 little bit of optimization to this so that each of one's mail groups has 12719 little bit of optimization to this so that each of one's mail groups has
12720 a Unix mail box file. It's faster than @code{nnmbox} because each group 12720 a Unix mail box file. It's faster than @code{nnmbox} because each group
12721 can be parsed separately, and still provides the simple Unix mail box 12721 can be parsed separately, and still provides the simple Unix mail box
12722 format requiring minimal effort in moving the mail around. In addition, 12722 format requiring minimal effort in moving the mail around. In addition,
12723 it maintains an ``active'' file making it much faster for Gnus to figure 12723 it maintains an ``active'' file making it much faster for Gnus to figure
12724 out how many messages there are in each separate group. 12724 out how many messages there are in each separate group.
12725 12725
12726 If you have groups that are expected to have a massive amount of 12726 If you have groups that are expected to have a massive amount of
12727 messages, @code{nnfolder} is not the best choice, but if you receive 12727 messages, @code{nnfolder} is not the best choice, but if you receive
12728 only a moderate amount of mail, @code{nnfolder} is probably the most 12728 only a moderate amount of mail, @code{nnfolder} is probably the most
12744 is easy to understand---they are friendly to new users; you just point 12744 is easy to understand---they are friendly to new users; you just point
12745 and click, and there's the discussion. With mailing lists, you have to 12745 and click, and there's the discussion. With mailing lists, you have to
12746 go through a cumbersome subscription procedure, and most people don't 12746 go through a cumbersome subscription procedure, and most people don't
12747 even know what a news group is. 12747 even know what a news group is.
12748 12748
12749 The problem with this scenario is that web browsers are not very good at 12749 The problem with this scenario is that web browsers are not very good at
12750 being newsreaders. They do not keep track of what articles you've read; 12750 being newsreaders. They do not keep track of what articles you've read;
12751 they do not allow you to score on subjects you're interested in; they do 12751 they do not allow you to score on subjects you're interested in; they do
12752 not allow off-line browsing; they require you to click around and drive 12752 not allow off-line browsing; they require you to click around and drive
12753 you mad in the end. 12753 you mad in the end.
12754 12754
12755 So---if web browsers suck at reading discussion forums, why not use Gnus 12755 So---if web browsers suck at reading discussion forums, why not use Gnus
12756 to do it instead? 12756 to do it instead?
12757 12757
12758 Gnus has been getting a bit of a collection of back ends for providing 12758 Gnus has been getting a bit of a collection of back ends for providing
12759 interfaces to these sources. 12759 interfaces to these sources.
12760 12760
12767 @end menu 12767 @end menu
12768 12768
12769 All the web sources require Emacs/w3 and the url library to work. 12769 All the web sources require Emacs/w3 and the url library to work.
12770 12770
12771 The main caveat with all these web sources is that they probably won't 12771 The main caveat with all these web sources is that they probably won't
12772 work for a very long time. Gleaning information from the @sc{html} data 12772 work for a very long time. Gleaning information from the @sc{html} data
12773 is guesswork at best, and when the layout is altered, the Gnus back end 12773 is guesswork at best, and when the layout is altered, the Gnus back end
12774 will fail. If you have reasonably new versions of these back ends, 12774 will fail. If you have reasonably new versions of these back ends,
12775 though, you should be ok. 12775 though, you should be ok.
12776 12776
12777 One thing all these Web methods have in common is that the Web sources 12777 One thing all these Web methods have in common is that the Web sources
12969 probably the most popular Web bulletin board system used. It has a 12969 probably the most popular Web bulletin board system used. It has a
12970 quite regular and nice interface, and it's possible to get the 12970 quite regular and nice interface, and it's possible to get the
12971 information Gnus needs to keep groups updated. 12971 information Gnus needs to keep groups updated.
12972 12972
12973 The easiest way to get started with @code{nnultimate} is to say 12973 The easiest way to get started with @code{nnultimate} is to say
12974 something like the following in the group buffer: @kbd{B nnultimate @key{RET} 12974 something like the following in the group buffer: @kbd{B nnultimate @key{RET}
12975 http://www.tcj.com/messboard/ubbcgi/ @key{RET}}. (Substitute the @sc{url} 12975 http://www.tcj.com/messboard/ubbcgi/ @key{RET}}. (Substitute the @sc{url}
12976 (not including @samp{Ultimate.cgi} or the like at the end) for a forum 12976 (not including @samp{Ultimate.cgi} or the like at the end) for a forum
12977 you're interested in; there's quite a list of them on the Ultimate web 12977 you're interested in; there's quite a list of them on the Ultimate web
12978 site.) Then subscribe to the groups you're interested in from the 12978 site.) Then subscribe to the groups you're interested in from the
12979 server buffer, and read them from the group buffer. 12979 server buffer, and read them from the group buffer.
13030 @cindex w3 13030 @cindex w3
13031 @cindex html 13031 @cindex html
13032 @cindex url 13032 @cindex url
13033 @cindex Netscape 13033 @cindex Netscape
13034 13034
13035 Gnus uses the url library to fetch web pages and Emacs/w3 to display web 13035 Gnus uses the url library to fetch web pages and Emacs/w3 to display web
13036 pages. Emacs/w3 is documented in its own manual, but there are some 13036 pages. Emacs/w3 is documented in its own manual, but there are some
13037 things that may be more relevant for Gnus users. 13037 things that may be more relevant for Gnus users.
13038 13038
13039 For instance, a common question is how to make Emacs/w3 follow links 13039 For instance, a common question is how to make Emacs/w3 follow links
13040 using the @code{browse-url} functions (which will call some external web 13040 using the @code{browse-url} functions (which will call some external web
13041 browser like Netscape). Here's one way: 13041 browser like Netscape). Here's one way:
13042 13042
13043 @lisp 13043 @lisp
13044 (eval-after-load "w3" 13044 (eval-after-load "w3"
13045 '(progn 13045 '(progn
13720 13720
13721 Here's an example: 13721 Here's an example:
13722 13722
13723 @lisp 13723 @lisp
13724 (setq gnus-post-method 13724 (setq gnus-post-method
13725 '(nngateway 13725 '(nngateway
13726 "mail2news@@replay.com" 13726 "mail2news@@replay.com"
13727 (nngateway-header-transformation 13727 (nngateway-header-transformation
13728 nngateway-mail2news-header-transformation))) 13728 nngateway-mail2news-header-transformation)))
13729 @end lisp 13729 @end lisp
13730 13730
13769 13769
13770 A server configuration in @code{~/.gnus} with a few @sc{imap} servers 13770 A server configuration in @code{~/.gnus} with a few @sc{imap} servers
13771 might look something like this: 13771 might look something like this:
13772 13772
13773 @lisp 13773 @lisp
13774 (setq gnus-secondary-select-methods 13774 (setq gnus-secondary-select-methods
13775 '((nnimap "simpleserver") ; no special configuration 13775 '((nnimap "simpleserver") ; no special configuration
13776 ; perhaps a ssh port forwarded server: 13776 ; perhaps a ssh port forwarded server:
13777 (nnimap "dolk" 13777 (nnimap "dolk"
13778 (nnimap-address "localhost") 13778 (nnimap-address "localhost")
13779 (nnimap-server-port 1430)) 13779 (nnimap-server-port 1430))
13831 13831
13832 Example server specification: 13832 Example server specification:
13833 13833
13834 @lisp 13834 @lisp
13835 (nnimap "mail.server.com" 13835 (nnimap "mail.server.com"
13836 (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*" 13836 (nnimap-list-pattern ("INBOX" "Mail/*" "alt.sex.*"
13837 ("~friend/Mail/" . "list/*")))) 13837 ("~friend/Mail/" . "list/*"))))
13838 @end lisp 13838 @end lisp
13839 13839
13840 @item nnimap-stream 13840 @item nnimap-stream
13841 @vindex nnimap-stream 13841 @vindex nnimap-stream
14039 matching the regexp in the second element in the sublist. Got that? 14039 matching the regexp in the second element in the sublist. Got that?
14040 Neither did I, we need examples. 14040 Neither did I, we need examples.
14041 14041
14042 @lisp 14042 @lisp
14043 (setq nnimap-split-rule 14043 (setq nnimap-split-rule
14044 '(("INBOX.nnimap" 14044 '(("INBOX.nnimap"
14045 "^Sender: owner-nnimap@@vic20.globalcom.se") 14045 "^Sender: owner-nnimap@@vic20.globalcom.se")
14046 ("INBOX.junk" "^Subject:.*MAKE MONEY") 14046 ("INBOX.junk" "^Subject:.*MAKE MONEY")
14047 ("INBOX.private" ""))) 14047 ("INBOX.private" "")))
14048 @end lisp 14048 @end lisp
14049 14049
15616 returned is the local score file. Phu. 15616 returned is the local score file. Phu.
15617 15617
15618 For example, to do hierarchical scoring but use a non-server-specific 15618 For example, to do hierarchical scoring but use a non-server-specific
15619 overall score file, you could use the value 15619 overall score file, you could use the value
15620 @example 15620 @example
15621 (list (lambda (group) ("all.SCORE")) 15621 (list (lambda (group) ("all.SCORE"))
15622 'gnus-score-find-hierarchical) 15622 'gnus-score-find-hierarchical)
15623 @end example 15623 @end example
15624 15624
15625 @item gnus-score-expiry-days 15625 @item gnus-score-expiry-days
15626 @vindex gnus-score-expiry-days 15626 @vindex gnus-score-expiry-days
16295 16295
16296 @item Multiple crossposts 16296 @item Multiple crossposts
16297 If you want to lower the score of articles that have been crossposted to 16297 If you want to lower the score of articles that have been crossposted to
16298 more than, say, 3 groups: 16298 more than, say, 3 groups:
16299 @lisp 16299 @lisp
16300 ("xref" 16300 ("xref"
16301 ("[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+" 16301 ("[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+ +[^:\n]+:[0-9]+"
16302 -1000 nil r)) 16302 -1000 nil r))
16303 @end lisp 16303 @end lisp
16304 16304
16305 @item Matching on the body 16305 @item Matching on the body
17531 One common desire for a multiple frame split is to have a separate frame 17531 One common desire for a multiple frame split is to have a separate frame
17532 for composing mail and news while leaving the original frame intact. To 17532 for composing mail and news while leaving the original frame intact. To
17533 accomplish that, something like the following can be done: 17533 accomplish that, something like the following can be done:
17534 17534
17535 @lisp 17535 @lisp
17536 (message 17536 (message
17537 (frame 1.0 17537 (frame 1.0
17538 (if (not (buffer-live-p gnus-summary-buffer)) 17538 (if (not (buffer-live-p gnus-summary-buffer))
17539 (car (cdr (assoc 'group gnus-buffer-configuration))) 17539 (car (cdr (assoc 'group gnus-buffer-configuration)))
17540 (car (cdr (assoc 'summary gnus-buffer-configuration)))) 17540 (car (cdr (assoc 'summary gnus-buffer-configuration))))
17541 (vertical ((user-position . t) (top . 1) (left . 1) 17541 (vertical ((user-position . t) (top . 1) (left . 1)
17573 windows resized. 17573 windows resized.
17574 17574
17575 @subsection Example Window Configurations 17575 @subsection Example Window Configurations
17576 17576
17577 @itemize @bullet 17577 @itemize @bullet
17578 @item 17578 @item
17579 Narrow left hand side occupied by group buffer. Right hand side split 17579 Narrow left hand side occupied by group buffer. Right hand side split
17580 between summary buffer (top one-sixth) and article buffer (bottom). 17580 between summary buffer (top one-sixth) and article buffer (bottom).
17581 17581
17582 @ifinfo 17582 @ifinfo
17583 @example 17583 @example
18088 @findex gnus-undo-mode 18088 @findex gnus-undo-mode
18089 @vindex gnus-use-undo 18089 @vindex gnus-use-undo
18090 @findex gnus-undo 18090 @findex gnus-undo
18091 The undoability is provided by the @code{gnus-undo-mode} minor mode. It 18091 The undoability is provided by the @code{gnus-undo-mode} minor mode. It
18092 is used if @code{gnus-use-undo} is non-@code{nil}, which is the 18092 is used if @code{gnus-use-undo} is non-@code{nil}, which is the
18093 default. The @kbd{C-M-_} key performs the @code{gnus-undo} 18093 default. The @kbd{C-M-_} key performs the @code{gnus-undo}
18094 command, which should feel kinda like the normal Emacs @code{undo} 18094 command, which should feel kinda like the normal Emacs @code{undo}
18095 command. 18095 command.
18096 18096
18097 18097
18098 @node Moderation 18098 @node Moderation
18913 On September 13th 1997, Quassia Gnus was started and lasted 37 releases. 18913 On September 13th 1997, Quassia Gnus was started and lasted 37 releases.
18914 If was released as ``Gnus 5.6'' on March 8th 1998 (46 releases). 18914 If was released as ``Gnus 5.6'' on March 8th 1998 (46 releases).
18915 18915
18916 Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as 18916 Gnus 5.6 begat Pterodactyl Gnus on August 29th 1998 and was released as
18917 ``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd 18917 ``Gnus 5.8'' (after 99 releases and a CVS repository) on December 3rd
18918 1999. 18918 1999.
18919 18919
18920 If you happen upon a version of Gnus that has a prefixed name -- 18920 If you happen upon a version of Gnus that has a prefixed name --
18921 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' -- 18921 ``(ding) Gnus'', ``September Gnus'', ``Red Gnus'', ``Quassia Gnus'' --
18922 don't panic. Don't let it know that you're frightened. Back away. 18922 don't panic. Don't let it know that you're frightened. Back away.
18923 Slowly. Whatever you do, don't run. Walk away, calmly, until you're 18923 Slowly. Whatever you do, don't run. Walk away, calmly, until you're
20148 (setq nnmail-spool-file 'procmail) 20148 (setq nnmail-spool-file 'procmail)
20149 (setq nnmail-procmail-directory "~/mail/incoming/") 20149 (setq nnmail-procmail-directory "~/mail/incoming/")
20150 (setq nnmail-procmail-suffix "\\.in") 20150 (setq nnmail-procmail-suffix "\\.in")
20151 @end lisp 20151 @end lisp
20152 20152
20153 this now has changed to 20153 this now has changed to
20154 20154
20155 @lisp 20155 @lisp
20156 (setq mail-sources 20156 (setq mail-sources
20157 '((directory :path "~/mail/incoming/" 20157 '((directory :path "~/mail/incoming/"
20158 :suffix ".in"))) 20158 :suffix ".in")))
20177 of variables starting with @code{gnus-treat-} have been added. 20177 of variables starting with @code{gnus-treat-} have been added.
20178 20178
20179 @item The Gnus posting styles have been redone again and now works in a 20179 @item The Gnus posting styles have been redone again and now works in a
20180 subtly different manner. 20180 subtly different manner.
20181 20181
20182 @item New web-based back ends have been added: @code{nnslashdot}, 20182 @item New web-based back ends have been added: @code{nnslashdot},
20183 @code{nnwarchive} and @code{nnultimate}. nnweb has been revamped, 20183 @code{nnwarchive} and @code{nnultimate}. nnweb has been revamped,
20184 again, to keep up with ever-changing layouts. 20184 again, to keep up with ever-changing layouts.
20185 20185
20186 @item Gnus can now read IMAP mail via @code{nnimap}. 20186 @item Gnus can now read IMAP mail via @code{nnimap}.
20187 20187
20256 20256
20257 I guess most manuals are written after-the-fact; documenting a program 20257 I guess most manuals are written after-the-fact; documenting a program
20258 that's already there. This is not how this manual is written. When 20258 that's already there. This is not how this manual is written. When
20259 implementing something, I write the manual entry for that something 20259 implementing something, I write the manual entry for that something
20260 straight away. I then see that it's difficult to explain the 20260 straight away. I then see that it's difficult to explain the
20261 functionality, so I write how it's supposed to be, and then I change the 20261 functionality, so I write how it's supposed to be, and then I change the
20262 implementation. Writing the documentation and writing the code goes 20262 implementation. Writing the documentation and writing the code goes
20263 hand in hand. 20263 hand in hand.
20264 20264
20265 This, of course, means that this manual has no, or little, flow. It 20265 This, of course, means that this manual has no, or little, flow. It
20266 documents absolutely everything in Gnus, but often not where you're 20266 documents absolutely everything in Gnus, but often not where you're
20267 looking for it. It is a reference manual, and not a guide to how to get 20267 looking for it. It is a reference manual, and not a guide to how to get
20268 started with Gnus. 20268 started with Gnus.
20269 20269
20270 That would be a totally different book, that should be written using the 20270 That would be a totally different book, that should be written using the
20271 reference manual as source material. It would look quite differently. 20271 reference manual as source material. It would look quite differently.
20272 20272
20273 20273
20274 @page 20274 @page
20275 @node Terminology 20275 @node Terminology
21486 21486
21487 (defvoo nndir-nov-is-evil nil 21487 (defvoo nndir-nov-is-evil nil
21488 "*Non-nil means that nndir will never retrieve NOV headers." 21488 "*Non-nil means that nndir will never retrieve NOV headers."
21489 nnml-nov-is-evil) 21489 nnml-nov-is-evil)
21490 21490
21491 (defvoo nndir-current-group "" 21491 (defvoo nndir-current-group ""
21492 nil 21492 nil
21493 nnml-current-group nnmh-current-group) 21493 nnml-current-group nnmh-current-group)
21494 (defvoo nndir-top-directory nil nil nnml-directory nnmh-directory) 21494 (defvoo nndir-top-directory nil nil nnml-directory nnmh-directory)
21495 (defvoo nndir-get-new-mail nil nil nnml-get-new-mail nnmh-get-new-mail) 21495 (defvoo nndir-get-new-mail nil nil nnml-get-new-mail nnmh-get-new-mail)
21496 21496
21497 (defvoo nndir-status-string "" nil nnmh-status-string) 21497 (defvoo nndir-status-string "" nil nnmh-status-string)
21506 (or (cadr (assq 'nndir-directory defs)) 21506 (or (cadr (assq 'nndir-directory defs))
21507 server)) 21507 server))
21508 (unless (assq 'nndir-directory defs) 21508 (unless (assq 'nndir-directory defs)
21509 (push `(nndir-directory ,server) defs)) 21509 (push `(nndir-directory ,server) defs))
21510 (push `(nndir-current-group 21510 (push `(nndir-current-group
21511 ,(file-name-nondirectory 21511 ,(file-name-nondirectory
21512 (directory-file-name nndir-directory))) 21512 (directory-file-name nndir-directory)))
21513 defs) 21513 defs)
21514 (push `(nndir-top-directory 21514 (push `(nndir-top-directory
21515 ,(file-name-directory (directory-file-name nndir-directory))) 21515 ,(file-name-directory (directory-file-name nndir-directory)))
21516 defs) 21516 defs)