Mercurial > hg > xemacs-beta
comparison man/gnus.texi @ 118:7d55a9ba150c r20-1b11
Import from CVS: tag r20-1b11
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:24:17 +0200 |
parents | 9f59509498e1 |
children | cca96a509cfe |
comparison
equal
deleted
inserted
replaced
117:578fd4947a72 | 118:7d55a9ba150c |
---|---|
1 \input texinfo @c -*-texinfo-*- | 1 \input texinfo @c -*-texinfo-*- |
2 | 2 |
3 @setfilename gnus | 3 @setfilename gnus |
4 @settitle Gnus 5.4.37 Manual | 4 @settitle Gnus 5.4.40 Manual |
5 @synindex fn cp | 5 @synindex fn cp |
6 @synindex vr cp | 6 @synindex vr cp |
7 @synindex pg cp | 7 @synindex pg cp |
8 @iftex | 8 @iftex |
9 @finalout | 9 @finalout |
285 @end ifinfo | 285 @end ifinfo |
286 | 286 |
287 @tex | 287 @tex |
288 | 288 |
289 @titlepage | 289 @titlepage |
290 @title Gnus 5.4.37 Manual | 290 @title Gnus 5.4.40 Manual |
291 | 291 |
292 @author by Lars Magne Ingebrigtsen | 292 @author by Lars Magne Ingebrigtsen |
293 @page | 293 @page |
294 | 294 |
295 @vskip 0pt plus 1filll | 295 @vskip 0pt plus 1filll |
321 You can read news (and mail) from within Emacs by using Gnus. The news | 321 You can read news (and mail) from within Emacs by using Gnus. The news |
322 can be gotten by any nefarious means you can think of---@sc{nntp}, local | 322 can be gotten by any nefarious means you can think of---@sc{nntp}, local |
323 spool or your mbox file. All at the same time, if you want to push your | 323 spool or your mbox file. All at the same time, if you want to push your |
324 luck. | 324 luck. |
325 | 325 |
326 This manual corresponds to Gnus 5.4.37. | 326 This manual corresponds to Gnus 5.4.40. |
327 | 327 |
328 @end ifinfo | 328 @end ifinfo |
329 | 329 |
330 @iftex | 330 @iftex |
331 | 331 |
639 | 639 |
640 @vindex gnus-subscribe-newsgroup-method | 640 @vindex gnus-subscribe-newsgroup-method |
641 What Gnus does when it encounters a new group is determined by the | 641 What Gnus does when it encounters a new group is determined by the |
642 @code{gnus-subscribe-newsgroup-method} variable. | 642 @code{gnus-subscribe-newsgroup-method} variable. |
643 | 643 |
644 This variable should contain a function. Some handy pre-fab values | 644 This variable should contain a function. This function will be called |
645 are: | 645 with the name of the new group as the only parameter. |
646 | |
647 Some handy pre-fab functions are: | |
646 | 648 |
647 @table @code | 649 @table @code |
648 | 650 |
649 @item gnus-subscribe-zombies | 651 @item gnus-subscribe-zombies |
650 @vindex gnus-subscribe-zombies | 652 @vindex gnus-subscribe-zombies |
2011 Also @pxref{Topic Parameters}. | 2013 Also @pxref{Topic Parameters}. |
2012 | 2014 |
2013 Here's an example group parameter list: | 2015 Here's an example group parameter list: |
2014 | 2016 |
2015 @example | 2017 @example |
2016 ((to-address . "ding@@ifi.uio.no") | 2018 ((to-address . "ding@@gnus.org") |
2017 (auto-expiry . t)) | 2019 (auto-expiry . t)) |
2018 @end example | 2020 @end example |
2019 | 2021 |
2020 | 2022 |
2021 @node Listing Groups | 2023 @node Listing Groups |
4725 | 4727 |
4726 @lisp | 4728 @lisp |
4727 (setq gnus-thread-sort-functions | 4729 (setq gnus-thread-sort-functions |
4728 '(gnus-thread-sort-by-number | 4730 '(gnus-thread-sort-by-number |
4729 gnus-thread-sort-by-subject | 4731 gnus-thread-sort-by-subject |
4730 gnus-thread-sort-by-score)) | 4732 gnus-thread-sort-by-total-score)) |
4731 @end lisp | 4733 @end lisp |
4732 | 4734 |
4733 The threads that have highest score will be displayed first in the | 4735 The threads that have highest score will be displayed first in the |
4734 summary buffer. When threads have the same score, they will be sorted | 4736 summary buffer. When threads have the same score, they will be sorted |
4735 alphabetically. The threads that have the same score and the same | 4737 alphabetically. The threads that have the same score and the same |
7515 @table @code | 7517 @table @code |
7516 @item gnus-uu-digest-headers | 7518 @item gnus-uu-digest-headers |
7517 @vindex gnus-uu-digest-headers | 7519 @vindex gnus-uu-digest-headers |
7518 List of regexps to match headers included in digested messages. The | 7520 List of regexps to match headers included in digested messages. The |
7519 headers will be included in the sequence they are matched. | 7521 headers will be included in the sequence they are matched. |
7522 | |
7523 @item gnus-add-to-list | |
7524 @vindex gnus-add-to-list | |
7525 If non-@code{nil}, add a @code{to-list} group parameter to mail groups | |
7526 that have none when you do a @kbd{a}. | |
7520 | 7527 |
7521 @end table | 7528 @end table |
7522 | 7529 |
7523 | 7530 |
7524 @node Post | 7531 @node Post |
11575 @code{gnus-global-score-files} variable. One entry for each score file, | 11582 @code{gnus-global-score-files} variable. One entry for each score file, |
11576 or each score file directory. Gnus will decide by itself what score | 11583 or each score file directory. Gnus will decide by itself what score |
11577 files are applicable to which group. | 11584 files are applicable to which group. |
11578 | 11585 |
11579 Say you want to use the score file | 11586 Say you want to use the score file |
11580 @file{/ftp@@ftp.ifi.uio.no:/pub/larsi/ding/score/soc.motss.SCORE} and | 11587 @file{/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE} and |
11581 all score files in the @file{/ftp@@ftp.some-where:/pub/score} directory: | 11588 all score files in the @file{/ftp@@ftp.some-where:/pub/score} directory: |
11582 | 11589 |
11583 @lisp | 11590 @lisp |
11584 (setq gnus-global-score-files | 11591 (setq gnus-global-score-files |
11585 '("/ftp@@ftp.ifi.uio.no:/pub/larsi/ding/score/soc.motss.SCORE" | 11592 '("/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE" |
11586 "/ftp@@ftp.some-where:/pub/score/")) | 11593 "/ftp@@ftp.some-where:/pub/score/")) |
11587 @end lisp | 11594 @end lisp |
11588 | 11595 |
11589 @findex gnus-score-search-global-directories | 11596 @findex gnus-score-search-global-directories |
11590 Simple, eh? Directory names must end with a @samp{/}. These | 11597 Simple, eh? Directory names must end with a @samp{/}. These |
13300 @section Moderation | 13307 @section Moderation |
13301 @cindex moderation | 13308 @cindex moderation |
13302 | 13309 |
13303 If you are a moderator, you can use the @file{gnus-mdrtn.el} package. | 13310 If you are a moderator, you can use the @file{gnus-mdrtn.el} package. |
13304 It is not included in the standard Gnus package. Write a mail to | 13311 It is not included in the standard Gnus package. Write a mail to |
13305 @samp{larsi@@ifi.uio.no} and state what group you moderate, and you'll | 13312 @samp{larsi@@gnus.org} and state what group you moderate, and you'll |
13306 get a copy. | 13313 get a copy. |
13307 | 13314 |
13308 The moderation package is implemented as a minor mode for summary | 13315 The moderation package is implemented as a minor mode for summary |
13309 buffers. Put | 13316 buffers. Put |
13310 | 13317 |
13430 | 13437 |
13431 The biggest problem I have with email spam is that it comes in under | 13438 The biggest problem I have with email spam is that it comes in under |
13432 false pretenses. I press @kbd{g} and Gnus merrily informs me that I | 13439 false pretenses. I press @kbd{g} and Gnus merrily informs me that I |
13433 have 10 new emails. I say ``Golly gee! Happy is me!'' and selects the | 13440 have 10 new emails. I say ``Golly gee! Happy is me!'' and selects the |
13434 mail group, only to find two pyramid schemes, seven advertisements | 13441 mail group, only to find two pyramid schemes, seven advertisements |
13435 ``New! Miracle tonic for growing full, lustrouos hair on your toes!'' | 13442 (``New! Miracle tonic for growing full, lustrouos hair on your toes!'') |
13436 and one mail asking me to repent and find some god. | 13443 and one mail asking me to repent and find some god. |
13437 | 13444 |
13438 This is annoying. | 13445 This is annoying. |
13439 | 13446 |
13440 The way to deal with this is having Gnus split out all spam into a | 13447 The way to deal with this is having Gnus split out all spam into a |
13465 | 13472 |
13466 This says that all mail to this address is suspect, but if it has a | 13473 This says that all mail to this address is suspect, but if it has a |
13467 @code{Subject} that starts with a @samp{Re:} or has a @code{References} | 13474 @code{Subject} that starts with a @samp{Re:} or has a @code{References} |
13468 header, it's probably ok. All the rest goes to the @samp{spam} group. | 13475 header, it's probably ok. All the rest goes to the @samp{spam} group. |
13469 (This idea probably comes from Tim Pierce.) | 13476 (This idea probably comes from Tim Pierce.) |
13477 | |
13478 In addition, many mail spammers talk directly to your @code{smtp} server | |
13479 and do not include your email address explicitly in the @code{To} | |
13480 header. Why they do this is unknown---perhaps it's to thwart this | |
13481 twarting scheme? In any case, this is trivial to deal with---you just | |
13482 put anything not addressed to you in the @samp{spam} group by ending | |
13483 your fancy split rule in this way: | |
13484 | |
13485 @lisp | |
13486 ( | |
13487 ... | |
13488 (to "larsi" "misc") | |
13489 "spam") | |
13490 @end lisp | |
13470 | 13491 |
13471 In my experience, this will sort virtually everything into the right | 13492 In my experience, this will sort virtually everything into the right |
13472 group. You still have to check the @samp{spam} group from time to time to | 13493 group. You still have to check the @samp{spam} group from time to time to |
13473 check for legitimate mail, though. If you feel like being a good net | 13494 check for legitimate mail, though. If you feel like being a good net |
13474 citizen, you can even send off complaints to the proper authorities on | 13495 citizen, you can even send off complaints to the proper authorities on |
13962 Geoffrey T. Dairiki, | 13983 Geoffrey T. Dairiki, |
13963 Andre Deparade, | 13984 Andre Deparade, |
13964 Ulrik Dickow, | 13985 Ulrik Dickow, |
13965 Dave Disser, | 13986 Dave Disser, |
13966 Joev Dubach, | 13987 Joev Dubach, |
13988 Michael Welsh Duggan, | |
13967 Paul Eggert, | 13989 Paul Eggert, |
13968 Michael Ernst, | 13990 Michael Ernst, |
13969 Luc Van Eycken, | 13991 Luc Van Eycken, |
13970 Sam Falkner, | 13992 Sam Falkner, |
13971 Paul Franklin, | 13993 Paul Franklin, |
14014 Ulrich Pfeifer, | 14036 Ulrich Pfeifer, |
14015 John McClary Prevost, | 14037 John McClary Prevost, |
14016 Colin Rafferty, | 14038 Colin Rafferty, |
14017 Bart Robinson, | 14039 Bart Robinson, |
14018 Jason Rumney, | 14040 Jason Rumney, |
14041 Dewey M. Sasser, | |
14019 Loren Schall, | 14042 Loren Schall, |
14020 Dan Schmidt, | 14043 Dan Schmidt, |
14021 Ralph Schleicher, | 14044 Ralph Schleicher, |
14022 Philippe Schnoebelen, | 14045 Philippe Schnoebelen, |
14023 Randal L. Schwartz, | 14046 Randal L. Schwartz, |
14024 Danny Siu, | 14047 Danny Siu, |
14025 Paul D. Smith, | 14048 Paul D. Smith, |
14026 Jeff Sparkes, | 14049 Jeff Sparkes, |
14050 Toby Speight, | |
14027 Michael Sperber, | 14051 Michael Sperber, |
14028 Richard Stallman, | 14052 Richard Stallman, |
14029 Greg Stark, | 14053 Greg Stark, |
14030 Paul Stodghill, | 14054 Paul Stodghill, |
14031 Kurt Swanson, | 14055 Kurt Swanson, |
15008 If you just need help, you are better off asking on | 15032 If you just need help, you are better off asking on |
15009 @samp{gnu.emacs.gnus}. I'm not very helpful. | 15033 @samp{gnu.emacs.gnus}. I'm not very helpful. |
15010 | 15034 |
15011 @cindex gnu.emacs.gnus | 15035 @cindex gnu.emacs.gnus |
15012 @cindex ding mailing list | 15036 @cindex ding mailing list |
15013 You can also ask on the ding mailing list---@samp{ding@@ifi.uio.no}. | 15037 You can also ask on the ding mailing list---@samp{ding@@gnus.org}. |
15014 Write to @samp{ding-request@@ifi.uio.no} to subscribe. | 15038 Write to @samp{ding-request@@gnus.org} to subscribe. |
15015 | 15039 |
15016 | 15040 |
15017 @node A Programmers Guide to Gnus | 15041 @node A Programmers Guide to Gnus |
15018 @section A Programmer@'s Guide to Gnus | 15042 @section A Programmer@'s Guide to Gnus |
15019 | 15043 |
15028 backends (this is written in stone), the format of the score files | 15052 backends (this is written in stone), the format of the score files |
15029 (ditto), data structures (some are less likely to change than others) | 15053 (ditto), data structures (some are less likely to change than others) |
15030 and general method of operations. | 15054 and general method of operations. |
15031 | 15055 |
15032 @menu | 15056 @menu |
15057 * Gnus Utility Functions:: Common functions and variable to use. | |
15033 * Backend Interface:: How Gnus communicates with the servers. | 15058 * Backend Interface:: How Gnus communicates with the servers. |
15034 * Score File Syntax:: A BNF definition of the score file standard. | 15059 * Score File Syntax:: A BNF definition of the score file standard. |
15035 * Headers:: How Gnus stores headers internally. | 15060 * Headers:: How Gnus stores headers internally. |
15036 * Ranges:: A handy format for storing mucho numbers. | 15061 * Ranges:: A handy format for storing mucho numbers. |
15037 * Group Info:: The group info format. | 15062 * Group Info:: The group info format. |
15038 * Emacs/XEmacs Code:: Gnus can be run under all modern Emacsen. | 15063 * Emacs/XEmacs Code:: Gnus can be run under all modern Emacsen. |
15039 * Various File Formats:: Formats of files that Gnus use. | 15064 * Various File Formats:: Formats of files that Gnus use. |
15040 @end menu | 15065 @end menu |
15066 | |
15067 | |
15068 @node Gnus Utility Functions | |
15069 @subsection Gnus Utility Functions | |
15070 @cindex Gnus utility functions | |
15071 @cindex utility functions | |
15072 @cindex functions | |
15073 @cindex internal variables | |
15074 | |
15075 When writing small functions to be run from hooks (and stuff), it's | |
15076 vital to have access to the Gnus internal functions and variables. | |
15077 Below is a list of the most common ones. | |
15078 | |
15079 @table @code | |
15080 | |
15081 @item gnus-newsgroup-name | |
15082 @vindex gnus-newsgroup-name | |
15083 This variable holds the name of the current newsgroup. | |
15084 | |
15085 @item gnus-find-method-for-group | |
15086 @findex gnus-find-method-for-group | |
15087 A function that returns the select method for @var{group}. | |
15088 | |
15089 @item gnus-group-real-name | |
15090 @findex gnus-group-real-name | |
15091 Takes a full (prefixed) Gnus group name, and returns the unprefixed | |
15092 name. | |
15093 | |
15094 @item gnus-group-prefixed-name | |
15095 @findex gnus-group-prefixed-name | |
15096 Takes an unprefixed group name and a select method, and returns the full | |
15097 (prefixed) Gnus group name. | |
15098 | |
15099 @item gnus-get-info | |
15100 @findex gnus-get-info | |
15101 Return the group info list for @var{group}. | |
15102 | |
15103 @item gnus-add-current-to-buffer-list | |
15104 @findex gnus-add-current-to-buffer-list | |
15105 Add the current buffer to the list of buffers to be killed on Gnus | |
15106 exit. | |
15107 | |
15108 @item gnus-continuum-version | |
15109 @findex gnus-continuum-version | |
15110 Take a Gnus version string as a parameter and returns a floating point | |
15111 number. Earlier versions will always get a lower number than later | |
15112 versions. | |
15113 | |
15114 @item gnus-group-read-only-p | |
15115 @findex gnus-group-read-only-p | |
15116 Say whether @var{group} is read-only or not. | |
15117 | |
15118 @item gnus-news-group-p | |
15119 @findex gnus-news-group-p | |
15120 Say whether @var{group} came from a news backend. | |
15121 | |
15122 @item gnus-ephemeral-group-p | |
15123 @findex gnus-ephemeral-group-p | |
15124 Say whether @var{group} is ephemeral or not. | |
15125 | |
15126 @item gnus-server-to-method | |
15127 @findex gnus-server-to-method | |
15128 Return the select method corresponding to @var{server}. | |
15129 | |
15130 @item gnus-server-equal | |
15131 @findex gnus-server-equal | |
15132 Say whether two virtual servers are equal. | |
15133 | |
15134 @item gnus-group-native-p | |
15135 @findex gnus-group-native-p | |
15136 Say whether @var{group} is native or not. | |
15137 | |
15138 @item gnus-group-secondary-p | |
15139 @findex gnus-group-secondary-p | |
15140 Say whether @var{group} is secondary or not. | |
15141 | |
15142 @item gnus-group-foreign-p | |
15143 @findex gnus-group-foreign-p | |
15144 Say whether @var{group} is foreign or not. | |
15145 | |
15146 @item group-group-find-parameter | |
15147 @findex group-group-find-parameter | |
15148 Return the parameter list of @var{group}. If given a second parameter, | |
15149 return the value of that parameter for @var{group}. | |
15150 | |
15151 @item gnus-group-set-parameter | |
15152 @findex gnus-group-set-parameter | |
15153 Takes three parameters; @var{group}, @var{parameter} and @var{value}. | |
15154 | |
15155 @item gnus-narrow-to-body | |
15156 @findex gnus-narrow-to-body | |
15157 Narrow the current buffer to the body of the article. | |
15158 | |
15159 @item gnus-check-backend-function | |
15160 @findex gnus-check-backend-function | |
15161 Takes two parameters, @var{function} and @var{group}. If the backend | |
15162 @var{group} comes from supports @var{function}, return non-@code{nil}. | |
15163 | |
15164 @lisp | |
15165 (gnus-check-backend-function "request-scan" "nnml:misc") | |
15166 => t | |
15167 @end lisp | |
15168 | |
15169 @item gnus-read-method | |
15170 @findex gnus-read-method | |
15171 Prompt the user for a select method. | |
15172 | |
15173 @end table | |
15041 | 15174 |
15042 | 15175 |
15043 @node Backend Interface | 15176 @node Backend Interface |
15044 @subsection Backend Interface | 15177 @subsection Backend Interface |
15045 | 15178 |
16001 ("no.group" 5 (1 . 54324)) | 16134 ("no.group" 5 (1 . 54324)) |
16002 | 16135 |
16003 ("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55)) | 16136 ("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55)) |
16004 ((tick (15 . 19)) (replied 3 6 (19 . 3))) | 16137 ((tick (15 . 19)) (replied 3 6 (19 . 3))) |
16005 (nnml "") | 16138 (nnml "") |
16006 (auto-expire (to-address "ding@@ifi.uio.no"))) | 16139 (auto-expire (to-address "ding@@gnus.org"))) |
16007 @end example | 16140 @end example |
16008 | 16141 |
16009 The first element is the @dfn{group name}---as Gnus knows the group, | 16142 The first element is the @dfn{group name}---as Gnus knows the group, |
16010 anyway. The second element is the @dfn{subscription level}, which | 16143 anyway. The second element is the @dfn{subscription level}, which |
16011 normally is a small integer. The third element is a list of ranges of | 16144 normally is a small integer. The third element is a list of ranges of |
16035 | 16168 |
16036 Actually that @samp{marks} rule is a fib. A @samp{marks} is a | 16169 Actually that @samp{marks} rule is a fib. A @samp{marks} is a |
16037 @samp{<string>} consed on to a @samp{range}, but that's a bitch to say | 16170 @samp{<string>} consed on to a @samp{range}, but that's a bitch to say |
16038 in pseudo-BNF. | 16171 in pseudo-BNF. |
16039 | 16172 |
16173 If you have a Gnus info and want to access the elements, Gnus offers a | |
16174 series of macros for getting/setting these elements. | |
16175 | |
16176 @table @code | |
16177 @item gnus-info-group | |
16178 @itemx gnus-info-set-group | |
16179 @findex gnus-info-group | |
16180 @findex gnus-info-set-group | |
16181 Get/set the group name. | |
16182 | |
16183 @item gnus-info-rank | |
16184 @itemx gnus-info-set-rank | |
16185 @findex gnus-info-rank | |
16186 @findex gnus-info-set-rank | |
16187 Get/set the group rank. | |
16188 | |
16189 @item gnus-info-level | |
16190 @itemx gnus-info-set-level | |
16191 @findex gnus-info-level | |
16192 @findex gnus-info-set-level | |
16193 Get/set the group level. | |
16194 | |
16195 @item gnus-info-score | |
16196 @itemx gnus-info-set-score | |
16197 @findex gnus-info-score | |
16198 @findex gnus-info-set-score | |
16199 Get/set the group score. | |
16200 | |
16201 @item gnus-info-read | |
16202 @itemx gnus-info-set-read | |
16203 @findex gnus-info-read | |
16204 @findex gnus-info-set-read | |
16205 Get/set the ranges of read articles. | |
16206 | |
16207 @item gnus-info-marks | |
16208 @itemx gnus-info-set-marks | |
16209 @findex gnus-info-marks | |
16210 @findex gnus-info-set-marks | |
16211 Get/set the lists of ranges of marked articles. | |
16212 | |
16213 @item gnus-info-method | |
16214 @itemx gnus-info-set-method | |
16215 @findex gnus-info-method | |
16216 @findex gnus-info-set-method | |
16217 Get/set the group select method. | |
16218 | |
16219 @item gnus-info-params | |
16220 @itemx gnus-info-set-params | |
16221 @findex gnus-info-params | |
16222 @findex gnus-info-set-params | |
16223 Get/set the group parameters. | |
16224 @end table | |
16225 | |
16226 All the getter functions take one parameter---the info list. The setter | |
16227 functions take two parameters---the info list and the new value. | |
16228 | |
16229 The last three elements in the group info aren't mandatory, so it may be | |
16230 necessary to extend the group info before setting the element. If this | |
16231 is necessary, you can just pass on a non-@code{nil} third parameter to | |
16232 the three final setter functions to have this happen automatically. | |
16233 | |
16040 | 16234 |
16041 @node Emacs/XEmacs Code | 16235 @node Emacs/XEmacs Code |
16042 @subsection Emacs/XEmacs Code | 16236 @subsection Emacs/XEmacs Code |
16043 @cindex XEmacs | 16237 @cindex XEmacs |
16044 @cindex Emacsen | 16238 @cindex Emacsen |