X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=texi%2Fgnus.texi;h=ea8e89a23158d6c2af701e0cfb8f842b9c92af43;hb=53795844cae7997eeedca6277f2f8726562bdd6c;hp=42523c4cbfaec923c0066c421d380988294f4f6d;hpb=62b6726bbc56e1dd0367a63b8a27d5f7b8c3ddff;p=gnus diff --git a/texi/gnus.texi b/texi/gnus.texi index 42523c4cb..ea8e89a23 100644 --- a/texi/gnus.texi +++ b/texi/gnus.texi @@ -1,7 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename gnus -@settitle Gnus 5.4.28 Manual +@settitle Gnus 5.4.52 Manual @synindex fn cp @synindex vr cp @synindex pg cp @@ -287,7 +287,7 @@ into another language, under the above conditions for modified versions. @tex @titlepage -@title Gnus 5.4.28 Manual +@title Gnus 5.4.52 Manual @author by Lars Magne Ingebrigtsen @page @@ -323,7 +323,7 @@ can be gotten by any nefarious means you can think of---@sc{nntp}, local spool or your mbox file. All at the same time, if you want to push your luck. -This manual corresponds to Gnus 5.4.28 +This manual corresponds to Gnus 5.4.52. @end ifinfo @@ -641,8 +641,10 @@ Use the mantra ``dingnusdingnusdingnus'' to achieve permanent bliss. What Gnus does when it encounters a new group is determined by the @code{gnus-subscribe-newsgroup-method} variable. -This variable should contain a function. Some handy pre-fab values -are: +This variable should contain a function. This function will be called +with the name of the new group as the only parameter. + +Some handy pre-fab functions are: @table @code @@ -2013,7 +2015,7 @@ Also @pxref{Topic Parameters}. Here's an example group parameter list: @example -((to-address . "ding@@ifi.uio.no") +((to-address . "ding@@gnus.org") (auto-expiry . t)) @end example @@ -2908,8 +2910,10 @@ a prefix, force Gnus to re-read the description from the server. Describe all groups (@code{gnus-group-describe-all-groups}). If given a prefix, force Gnus to re-read the description file from the server. -@item V +@item H v +@itemx V @kindex V (Group) +@kindex H v (Group) @cindex version @findex gnus-version Display current Gnus version numbers (@code{gnus-version}). @@ -3723,8 +3727,11 @@ headers of the forwarded article. @item S O p @kindex S O p (Summary) @findex gnus-uu-digest-post-forward +@cindex digests +@cindex making digests Digest the current series and forward the result to a newsgroup -(@code{gnus-uu-digest-mail-forward}). +(@code{gnus-uu-digest-mail-forward}). This command uses the +process/prefix convention. @item S u @kindex S u (Summary) @@ -4727,7 +4734,7 @@ number, you could do something like: (setq gnus-thread-sort-functions '(gnus-thread-sort-by-number gnus-thread-sort-by-subject - gnus-thread-sort-by-score)) + gnus-thread-sort-by-total-score)) @end lisp The threads that have highest score will be displayed first in the @@ -5223,6 +5230,23 @@ means that Gnus will look at the articles it saves for an @code{Archive-name} line and use that as a suggestion for the file name. +Here's an example function to clean up file names somewhat. If you have +lots of mail groups that are called things like +@samp{nnml:mail.whatever}, you may want to chop off the beginning of +these group names before creating the file name to save to. The +following will do just that: + +@lisp +(defun my-save-name (group) + (when (string-match "^nnml:mail." group) + (substring group (match-end 0)))) + +(setq gnus-split-methods + '((gnus-article-archive-name) + (my-save-name))) +@end lisp + + @vindex gnus-use-long-file-name Finally, you have the @code{gnus-use-long-file-name} variable. If it is @code{nil}, all the preceding functions will replace all periods @@ -6030,6 +6054,12 @@ Remove all blank lines at the end of the article Do all the three commands above (@code{gnus-article-strip-blank-lines}). +@item W E s +@kindex W E s (Summary) +@findex gnus-article-strip-leading-space +Remove all white space from the beginning of all lines of the article +body (@code{gnus-article-strip-leading-space}). + @end table @@ -6323,6 +6353,10 @@ matter what group it belongs to. @kbd{M-^} that look something like @samp{<38o6up$6f2@@hymir.ifi.uio.no>}. You have to get it all exactly right. No fuzzy searches, I'm afraid. +The current select method will be used when fetching by +@code{Message-ID} from non-news select method, but you can override this +by giving this command a prefix. + @vindex gnus-refer-article-method If the group you are reading is located on a backend that does not support fetching by @code{Message-ID} very well (like @code{nnspool}), @@ -6355,10 +6389,10 @@ Gnus, we offer a small selection of minor modes for the summary buffers. @subsection Pick and Read @cindex pick and read -Some newsreaders (like @code{nn} and, uhm, @code{nn}) use a two-phased -reading interface. The user first marks the articles she wants to read -from a summary buffer. Then she starts reading the articles with just -an article buffer displayed. +Some newsreaders (like @code{nn} and, uhm, @code{Netnews} on VM/CMS) use +a two-phased reading interface. The user first marks the articles she +wants to read from a summary buffer. Then she starts reading the +articles with just an article buffer displayed. @findex gnus-pick-mode @kindex M-x gnus-pick-mode @@ -6566,7 +6600,10 @@ nodes to their children. The default is @code{(?- ?\\ ?|)}. If this variable is non-@code{nil}, Gnus will try to keep the tree buffer as small as possible to allow more room for the other Gnus windows. If this variable is a number, the tree buffer will never be -higher than that number. The default is @code{t}. +higher than that number. The default is @code{t}. Note that if you +have several windows displayed side-by-side in a frame and the tree +buffer is one of these, minimizing the tree window will also resize all +other windows that are displayed next to it. @item gnus-generate-tree-function @vindex gnus-generate-tree-function @@ -6755,6 +6792,17 @@ Is is called after the summary buffer has been generated. You might use it to, for instance, highlight lines or modify the look of the buffer in some other ungodly manner. I don't care. +@vindex gnus-summary-ignore-duplicates +@item gnus-summary-ignore-duplicates +When Gnus discovers two articles that have the same @code{Message-ID}, +it has to do something drastic. No articles are allowed to have the +same @code{Message-ID}, but this may happen when reading mail from some +sources. Gnus allows you to customize what happens with this variable. +If it is @code{nil} (which is the default), Gnus will rename the +@code{Message-ID} (for display purposes only) and display the article as +any other article. If this variable is @code{t}, it won't display the +article---it'll be as if it never existed. + @end table @@ -7501,6 +7549,11 @@ Variables for customizing outgoing mail: List of regexps to match headers included in digested messages. The headers will be included in the sequence they are matched. +@item gnus-add-to-list +@vindex gnus-add-to-list +If non-@code{nil}, add a @code{to-list} group parameter to mail groups +that have none when you do a @kbd{a}. + @end table @@ -8223,12 +8276,12 @@ actually the case or not. That might seem quite naughty, but it does make sense most of the time. Let's say you have 10 groups subscribed to the server -@samp{nepholococcygia.com}. This server is located somewhere quite far -away from you, the machine is quite, so it takes 1 minute just to find -out that it refuses connection from you today. If Gnus were to attempt -to do that 10 times, you'd be quite annoyed, so Gnus won't attempt to do -that. Once it has gotten a single ``connection refused'', it will -regard that server as ``down''. +@samp{nephelococcygia.com}. This server is located somewhere quite far +away from you and the machine is quite slow, so it takes 1 minute just +to find out that it refuses connection from you today. If Gnus were to +attempt to do that 10 times, you'd be quite annoyed, so Gnus won't +attempt to do that. Once it has gotten a single ``connection refused'', +it will regard that server as ``down''. So, what happens if the machine was only feeling unwell temporarily? How do you test to see whether the machine has come up again? @@ -8417,20 +8470,58 @@ This hook is run as the last step when connecting to an @sc{nntp} server. @findex nntp-open-rlogin +@findex nntp-open-telnet @findex nntp-open-network-stream @item nntp-open-connection-function @vindex nntp-open-connection-function -This function is used to connect to the remote system. Two pre-made +This function is used to connect to the remote system. Three pre-made functions are @code{nntp-open-network-stream}, which is the default, and simply connects to some port or other on the remote system. The other -is @code{nntp-open-rlogin}, which does an rlogin on the remote system, -and then does a telnet to the @sc{nntp} server available there. +two are @code{nntp-open-rlogin}, which does an @samp{rlogin} on the +remote system, and then does a @samp{telnet} to the @sc{nntp} server +available there, and @code{nntp-open-telnet}, which does a @samp{telnet} +to the remote system and then another @samp{telnet} to get to the +@sc{nntp} server. + +@code{nntp-open-rlogin}-related variables: + +@table @code @item nntp-rlogin-parameters @vindex nntp-rlogin-parameters -If you use @code{nntp-open-rlogin} as the -@code{nntp-open-connection-function}, this list will be used as the -parameter list given to @code{rsh}. +This list will be used as the parameter list given to @code{rsh}. + +@item nntp-rlogin-user-name +@vindex nntp-rlogin-user-name +User name on the remote system. + +@end table + +@code{nntp-open-telnet}-related variables: + +@table @code +@item nntp-telnet-command +@vindex nntp-telnet-command +Command used to start @samp{telnet}. + +@item nntp-telnet-switches +@vindex nntp-telnet-switches +List of strings to be used as the switches to the telnet command. + +@item nntp-telnet-user-name +@vindex nntp-telnet-user-name +User name to log in on the remote system as. + +@item nntp-telnet-passwd +@vindex nntp-telnet-passwd +Password to use when logging in. + +@item nntp-telnet-parameters +@vindex nntp-telnet-parameters +A list of strings that will be executed as a command after logging in +via telnet. + +@end table @item nntp-end-of-line @vindex nntp-end-of-line @@ -8856,6 +8947,12 @@ names. Groups like @samp{mail.misc} will end up in directories like @findex delete-file Function called to delete files. It is @code{delete-file} by default. +@item nnmail-cache-accepted-message-ids +@vindex nnmail-cache-accepted-message-ids +If non-@code{nil}, put the @code{Message-ID}s of articles imported into +the backend (via @code{Gcc}, for instance) into the mail duplication +discovery cache. The default is @code{nil}. + @end table @@ -8888,7 +8985,7 @@ Let's look at an example value of this variable first: (any "procmail@@informatik\\.rwth-aachen\\.de" "procmail.list") (any "SmartList@@informatik\\.rwth-aachen\\.de" "SmartList.list") ;; People... - (any "larsi@@ifi\\.uio\\.no" "people.Lars Magne Ingebrigtsen")) + (any "larsi@@ifi\\.uio\\.no" "people.Lars_Magne_Ingebrigtsen")) ;; Unmatched mail goes to the catch all group. "misc.misc") @end lisp @@ -10929,7 +11026,8 @@ Anyway, if you'd like to dig into it yourself, here's an example: (eval (ding))) @end lisp -This example demonstrates absolutely everything about a score file. +This example demonstrates most score file elements. For a different +approach, see @pxref{Advanced Scoring}. Even though this looks much like lisp code, nothing here is actually @code{eval}ed. The lisp reader is used to read this form, though, so it @@ -11554,12 +11652,12 @@ or each score file directory. Gnus will decide by itself what score files are applicable to which group. Say you want to use the score file -@file{/ftp@@ftp.ifi.uio.no:/pub/larsi/ding/score/soc.motss.SCORE} and +@file{/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE} and all score files in the @file{/ftp@@ftp.some-where:/pub/score} directory: @lisp (setq gnus-global-score-files - '("/ftp@@ftp.ifi.uio.no:/pub/larsi/ding/score/soc.motss.SCORE" + '("/ftp@@ftp.gnus.org:/pub/larsi/ding/score/soc.motss.SCORE" "/ftp@@ftp.some-where:/pub/score/")) @end lisp @@ -12163,6 +12261,7 @@ four days, Gnus will decay the scores four times, for instance. * Moderation:: What to do if you're a moderator. * XEmacs Enhancements:: There are more pictures and stuff under XEmacs. * Fuzzy Matching:: What's the big fuzz? +* Thwarting Email Spam:: A how-to on avoiding unsolited commercial email. * Various Various:: Things that are really various. @end menu @@ -12962,7 +13061,7 @@ daemons, you can use the @code{gnus-demon-cancel} function. Note that adding daemons can be pretty naughty if you overdo it. Adding functions that scan all news and mail from all servers every two seconds is a sure-fire way of getting booted off any respectable system. So -behave. +behave. @node NoCeM @@ -13042,6 +13141,22 @@ says she is. The default is @code{mc-verify}, which is a Mailcrypt function. If this is too slow and you don't care for verification (which may be dangerous), you can set this variable to @code{nil}. +If you want signed NoCeM messages to be verified and unsigned messages +not to be verified (but used anyway), you could do something like: + +@lisp +(setq gnus-nocem-verifyer 'my-gnus-mc-verify) + +(defun my-gnus-mc-verify () + (not (eq 'forged + (ignore-errors + (if (mc-verify) + t + 'forged))))) +@end lisp + +This might be dangerous, though. + @item gnus-nocem-directory @vindex gnus-nocem-directory This is where Gnus will store its NoCeM cache files. The default is @@ -13055,6 +13170,11 @@ might then see old spam. @end table +Using NoCeM could potentially be a memory hog. If you have many living +(i. e., subscribed or unsubscribed groups), your Emacs process will grow +big. If this is a problem, you should kill off all (or most) of your +unsubscribed groups (@pxref{Subscription Commands}). + @node Picons @section Picons @@ -13278,7 +13398,7 @@ command. If you are a moderator, you can use the @file{gnus-mdrtn.el} package. It is not included in the standard Gnus package. Write a mail to -@samp{larsi@@ifi.uio.no} and state what group you moderate, and you'll +@samp{larsi@@gnus.org} and state what group you moderate, and you'll get a copy. The moderation package is implemented as a minor mode for summary @@ -13387,6 +13507,98 @@ adequate results---even when faced with strings generated by text manglers masquerading as newsreaders. +@node Thwarting Email Spam +@section Thwarting Email Spam +@cindex email spam +@cindex spam +@cindex UCE +@cindex unsolicited commercial email + +In these last days of the Usenet, commercial vultures are hanging about +and grepping through news like crazy to find email addresses they can +foist off their scams and products to. As a reaction to this, many +people have started putting nonsense addresses into their @code{From} +lines. I think this is counterproductive---it makes it difficult for +people to send you legitimate mail in response to things you write, as +well as making it difficult to see who wrote what. This rewriting may +perhaps be a bigger menace than the unsolicited commercial email itself +in the end. + +The biggest problem I have with email spam is that it comes in under +false pretenses. I press @kbd{g} and Gnus merrily informs me that I +have 10 new emails. I say ``Golly gee! Happy is me!'' and selects the +mail group, only to find two pyramid schemes, seven advertisements +(``New! Miracle tonic for growing full, lustrouos hair on your toes!'') +and one mail asking me to repent and find some god. + +This is annoying. + +The way to deal with this is having Gnus split out all spam into a +@samp{spam} mail group (@pxref{Splitting Mail}). + +First, pick one (1) legal mail address that you can be reached at, and +put it in your @code{From} header of all your news articles. (I've +chosen @samp{larsi@@trym.ifi.uio.no}, but for many addresses on the form +@samp{larsi+usenet@@ifi.uio.no} will be a better choice. Ask your +sysadm whether your sendmail installation accepts keywords in the local +part of the mail address.) + +@lisp +(setq message-default-news-headers + "From: Lars Magne Ingebrigtsen \n") +@end lisp + +Then put the following split rule in @code{nnmail-split-fancy} +(@pxref{Fancy Mail Splitting}): + +@lisp +( + ... + (to "larsi@@trym.ifi.uio.no" + (| ("subject" "re:.*" "misc") + ("references" ".*@@.*" "misc") + "spam")) + ... +) +@end lisp + +This says that all mail to this address is suspect, but if it has a +@code{Subject} that starts with a @samp{Re:} or has a @code{References} +header, it's probably ok. All the rest goes to the @samp{spam} group. +(This idea probably comes from Tim Pierce.) + +In addition, many mail spammers talk directly to your @code{smtp} server +and do not include your email address explicitly in the @code{To} +header. Why they do this is unknown---perhaps it's to thwart this +twarting scheme? In any case, this is trivial to deal with---you just +put anything not addressed to you in the @samp{spam} group by ending +your fancy split rule in this way: + +@lisp +( + ... + (to "larsi" "misc") + "spam") +@end lisp + +In my experience, this will sort virtually everything into the right +group. You still have to check the @samp{spam} group from time to time to +check for legitimate mail, though. If you feel like being a good net +citizen, you can even send off complaints to the proper authorities on +each unsolicited commercial email---at your leisure. + +If you are also a lazy net citizen, you will probably prefer complaining +automatically with the @file{gnus-junk.el} package, availiable FOR FREE +at @file{}. +Since most e-mail spam is sent automatically, this may reconcile the +cosmic balance somewhat. + +This works for me. It allows people an easy way to contact me (they can +just press @kbd{r} in the usual way), and I'm not bothered at all with +spam. It's a win-win situation. Forging @code{From} headers to point +to non-existant domains is yucky, in my opinion. + + @node Various Various @section Various Various @cindex mode lines @@ -13871,23 +14083,28 @@ Andre Deparade, Ulrik Dickow, Dave Disser, Joev Dubach, +Michael Welsh Duggan, Paul Eggert, Michael Ernst, Luc Van Eycken, Sam Falkner, Paul Franklin, +Arne Georg Gleditsch, David S. Goldberg, D. Hall, Magnus Hammerin, Raja R. Harinath, Hisashige Kenji, @c Hisashige Marc Horowitz, +Gunnar Horrigmo, +Brad Howes, François Felix Ingrand, Ishikawa Ichiro, @c Ishikawa Lee Iverson, Rajappa Iyer, Randell Jesup, Fred Johansen, +Kim-Minh Kaplan, Greg Klanderman, Karl Kleinpaste, Peter Skov Knudsen, @@ -13923,6 +14140,7 @@ John McClary Prevost, Colin Rafferty, Bart Robinson, Jason Rumney, +Dewey M. Sasser, Loren Schall, Dan Schmidt, Ralph Schleicher, @@ -13931,6 +14149,7 @@ Randal L. Schwartz, Danny Siu, Paul D. Smith, Jeff Sparkes, +Toby Speight, Michael Sperber, Richard Stallman, Greg Stark, @@ -13940,6 +14159,7 @@ Samuel Tardieu, Teddy, Chuck Thompson, Philippe Troin, +Aaron M. Ucko, Jan Vroonhof, Barry A. Warsaw, Christoph Wedler, @@ -14917,8 +15137,8 @@ If you just need help, you are better off asking on @cindex gnu.emacs.gnus @cindex ding mailing list -You can also ask on the ding mailing list---@samp{ding@@ifi.uio.no}. -Write to @samp{ding-request@@ifi.uio.no} to subscribe. +You can also ask on the ding mailing list---@samp{ding@@gnus.org}. +Write to @samp{ding-request@@gnus.org} to subscribe. @node A Programmers Guide to Gnus @@ -14937,6 +15157,7 @@ backends (this is written in stone), the format of the score files and general method of operations. @menu +* Gnus Utility Functions:: Common functions and variable to use. * Backend Interface:: How Gnus communicates with the servers. * Score File Syntax:: A BNF definition of the score file standard. * Headers:: How Gnus stores headers internally. @@ -14947,6 +15168,114 @@ and general method of operations. @end menu +@node Gnus Utility Functions +@subsection Gnus Utility Functions +@cindex Gnus utility functions +@cindex utility functions +@cindex functions +@cindex internal variables + +When writing small functions to be run from hooks (and stuff), it's +vital to have access to the Gnus internal functions and variables. +Below is a list of the most common ones. + +@table @code + +@item gnus-newsgroup-name +@vindex gnus-newsgroup-name +This variable holds the name of the current newsgroup. + +@item gnus-find-method-for-group +@findex gnus-find-method-for-group +A function that returns the select method for @var{group}. + +@item gnus-group-real-name +@findex gnus-group-real-name +Takes a full (prefixed) Gnus group name, and returns the unprefixed +name. + +@item gnus-group-prefixed-name +@findex gnus-group-prefixed-name +Takes an unprefixed group name and a select method, and returns the full +(prefixed) Gnus group name. + +@item gnus-get-info +@findex gnus-get-info +Return the group info list for @var{group}. + +@item gnus-add-current-to-buffer-list +@findex gnus-add-current-to-buffer-list +Add the current buffer to the list of buffers to be killed on Gnus +exit. + +@item gnus-continuum-version +@findex gnus-continuum-version +Take a Gnus version string as a parameter and returns a floating point +number. Earlier versions will always get a lower number than later +versions. + +@item gnus-group-read-only-p +@findex gnus-group-read-only-p +Say whether @var{group} is read-only or not. + +@item gnus-news-group-p +@findex gnus-news-group-p +Say whether @var{group} came from a news backend. + +@item gnus-ephemeral-group-p +@findex gnus-ephemeral-group-p +Say whether @var{group} is ephemeral or not. + +@item gnus-server-to-method +@findex gnus-server-to-method +Return the select method corresponding to @var{server}. + +@item gnus-server-equal +@findex gnus-server-equal +Say whether two virtual servers are equal. + +@item gnus-group-native-p +@findex gnus-group-native-p +Say whether @var{group} is native or not. + +@item gnus-group-secondary-p +@findex gnus-group-secondary-p +Say whether @var{group} is secondary or not. + +@item gnus-group-foreign-p +@findex gnus-group-foreign-p +Say whether @var{group} is foreign or not. + +@item group-group-find-parameter +@findex group-group-find-parameter +Return the parameter list of @var{group}. If given a second parameter, +return the value of that parameter for @var{group}. + +@item gnus-group-set-parameter +@findex gnus-group-set-parameter +Takes three parameters; @var{group}, @var{parameter} and @var{value}. + +@item gnus-narrow-to-body +@findex gnus-narrow-to-body +Narrow the current buffer to the body of the article. + +@item gnus-check-backend-function +@findex gnus-check-backend-function +Takes two parameters, @var{function} and @var{group}. If the backend +@var{group} comes from supports @var{function}, return non-@code{nil}. + +@lisp +(gnus-check-backend-function "request-scan" "nnml:misc") +=> t +@end lisp + +@item gnus-read-method +@findex gnus-read-method +Prompt the user for a select method. + +@end table + + @node Backend Interface @subsection Backend Interface @@ -15769,7 +16098,7 @@ mark-and-expunge = "mark-and-expunge" space nil-or-number files = "files" *[ space ] exclude-files = "exclude-files" *[ space ] read-only = "read-only" [ space "nil" / space "t" ] -adapt = "adapt" [ space "nil" / space "t" / space adapt-rule ] +adapt = "adapt" [ space "ignore" / space "t" / space adapt-rule ] adapt-rule = "(" *[ *[ "(" ")" ] ")" local = "local" *[ space "(" space
")" ] eval = "eval" space @@ -15910,7 +16239,7 @@ second is a more complex one: ("nnml:my.mail" 3 ((1 . 5) 9 (20 . 55)) ((tick (15 . 19)) (replied 3 6 (19 . 3))) (nnml "") - (auto-expire (to-address "ding@@ifi.uio.no"))) + (auto-expire (to-address "ding@@gnus.org"))) @end example The first element is the @dfn{group name}---as Gnus knows the group, @@ -15944,6 +16273,67 @@ Actually that @samp{marks} rule is a fib. A @samp{marks} is a @samp{} consed on to a @samp{range}, but that's a bitch to say in pseudo-BNF. +If you have a Gnus info and want to access the elements, Gnus offers a +series of macros for getting/setting these elements. + +@table @code +@item gnus-info-group +@itemx gnus-info-set-group +@findex gnus-info-group +@findex gnus-info-set-group +Get/set the group name. + +@item gnus-info-rank +@itemx gnus-info-set-rank +@findex gnus-info-rank +@findex gnus-info-set-rank +Get/set the group rank. + +@item gnus-info-level +@itemx gnus-info-set-level +@findex gnus-info-level +@findex gnus-info-set-level +Get/set the group level. + +@item gnus-info-score +@itemx gnus-info-set-score +@findex gnus-info-score +@findex gnus-info-set-score +Get/set the group score. + +@item gnus-info-read +@itemx gnus-info-set-read +@findex gnus-info-read +@findex gnus-info-set-read +Get/set the ranges of read articles. + +@item gnus-info-marks +@itemx gnus-info-set-marks +@findex gnus-info-marks +@findex gnus-info-set-marks +Get/set the lists of ranges of marked articles. + +@item gnus-info-method +@itemx gnus-info-set-method +@findex gnus-info-method +@findex gnus-info-set-method +Get/set the group select method. + +@item gnus-info-params +@itemx gnus-info-set-params +@findex gnus-info-params +@findex gnus-info-set-params +Get/set the group parameters. +@end table + +All the getter functions take one parameter---the info list. The setter +functions take two parameters---the info list and the new value. + +The last three elements in the group info aren't mandatory, so it may be +necessary to extend the group info before setting the element. If this +is necessary, you can just pass on a non-@code{nil} third parameter to +the three final setter functions to have this happen automatically. + @node Emacs/XEmacs Code @subsection Emacs/XEmacs Code @@ -15982,6 +16372,11 @@ not redefine any native Emacs functions while running under XEmacs---it does this @code{defalias} thing with Gnus equivalents instead. Cleaner all over. +In the cases when the XEmacs function interface was obviously +cleaner, I used it instead. For example @code{gnus-region-active-p} +is an alias for @code{region-active-p} in XEmacs, whereas in Emacs +it is a function. + Of course, I could have chosen XEmacs as my native platform and done mapping functions the other way around. But I didn't. The performance hit these indirections impose on Gnus under XEmacs should be slight.