Path: utzoo!attcan!uunet!kddlab!titcca!fgw!flab!umerin From: umerin@flab.flab.fujitsu.JUNET (Masanobu UMEDA) Newsgroups: comp.emacs,fj.editor.emacs Subject: GNUS 3.11: A GNU Emacs newsreader (8 of 9) Message-ID: <4807@flab.flab.fujitsu.JUNET> Date: 23 Feb 89 07:26:29 GMT Reply-To: umerin@flab.flab.fujitsu.JUNET (Masanobu UMEDA) Followup-To: comp.emacs Organization: Fujitsu Laboratories Ltd., Kawasaki, Japan. Lines: 1431 ---- Cut Here and unpack ---- #!/bin/sh # this is part 8 of a multipart archive # do not concatenate these parts, unpack them in order with /bin/sh # file gnus.texinfo continued # CurArch=8 if test ! -r s2_seq_.tmp then echo "Please unpack part 1 first!" exit 1; fi ( read Scheck if test "$Scheck" != $CurArch then echo "Please unpack part $Scheck next!" exit 1; else exit 0; fi ) < s2_seq_.tmp || exit 1 sed 's/^X//' << 'SHAR_EOF' >> gnus.texinfo Xfield that contains a match for the regexp, and then executes the Xcommand specified by the key sequence on them.@refill X X@node Referencing Articles, Saving Articles, Searching Articles, Subject Commands X@section Referencing Articles X@cindex refer to articles X X@table @kbd X@item ^ X@kindex ^ (Subject Mode) X@findex gnus-Subject-refer-parent-article XRefer to parent of the current article X(@code{gnus-Subject-refer-parent-article}). With a prefix argument, go Xback to the child.@refill X X@item M-r @var{Message-ID} RET X@kindex M-r (Subject Mode) X@findex gnus-Subject-refer-article XRefer to the article by using the @var{Message-ID} X(@code{gnus-Subject-refer-article}). With an empty @var{Message-ID}, go Xback to the origin.@refill X@end table X X@kindex ^ (Subject Mode) X@findex gnus-Subject-refer-parent-article X The command @kbd{^} (@code{gnus-Subject-refer-parent-article}) refers Xto parent article of the current article. The child article is remembered in Xinternal history, and it is possible to return to the child by giving a Xprefix argument to the command.@refill X X@kindex ^ (Subject Mode) X@findex gnus-Subject-refer-parent-article X@kindex M-r (Subject Mode) X@findex gnus-Subject-refer-article X The commands @kbd{^} and @kbd{M-r} X(@code{gnus-Subject-refer-parent-article} and X@code{gnus-Subject-refer-article}) share the same internal history. You Xcan thus go back to a child using the command @kbd{M-r} with an empty XMessage-ID.@refill X X@kindex g (Subject Mode) X@findex gnus-Subject-show-article X Type @kbd{g} (@code{gnus-Subject-show-article}) to go back to the Xorigin from the visited articles directly.@refill X X @xref{Article Commands}, to refer to articles by using Message-IDs Xincluded in the messages.@refill X X@node Saving Articles, Sorting Headers, Referencing Articles, Subject Commands X@section Saving Articles X@cindex save articles X X@kindex o (Subject Mode) X@findex gnus-Subject-save-article X@findex gnus-Subject-save-in-rmail X@vindex gnus-article-default-saver X@cindex Rmail file X@cindex Unix mailbox X@cindex MH folder X GNUS provides four different formats for saving articles in: Rmail Xformat, Unix mailbox format, MH folder, and plain file. If you set the Xvariable @code{gnus-article-default-saver} to your favorite article Xsaver, you can save an article using the command @kbd{o} X(@code{gnus-Subject-save-article}) in your favorite format. The default Xsaver is the function @code{gnus-Subject-save-in-rmail}.@refill X X@table @kbd X@item o X@kindex o (Subject Mode) X@findex gnus-Subject-save-article XSave the current article using the default saver specified by the Xvariable @code{gnus-article-default-saver} X(@code{gnus-Subject-save-article}).@refill X X@item | @var{command} RET X@kindex | (Subject Mode) X@findex gnus-Subject-pipe-output XSend contents of the current article to the @var{command} subprocess X(@code{gnus-Subject-pipe-output}).@refill X X@item C-o X@itemx M-x gnus-Subject-save-in-mail X@kindex C-o (Subject Mode) X@findex gnus-Subject-save-in-mail XSave the current article in Unix mailbox format. X X@item M-x gnus-Subject-save-in-rmail X@findex gnus-Subject-save-in-rmail XSave the current article in Rmail format. X X@item M-x gnus-Subject-save-in-folder X@findex gnus-Subject-save-in-folder XSave the current article in an MH folder. X X@item M-x gnus-Subject-save-in-file X@findex gnus-Subject-save-in-file XSave the current article in a plain file. X@end table X X@vindex gnus-save-all-headers X If the variable @code{gnus-save-all-headers} is non-@code{nil}, all Xheaders of an article are saved.@refill X X@vindex gnus-article-save-directory X@vindex SAVEDIR X@findex gnus-Subject-save-in-mail X@findex gnus-Subject-save-in-rmail X@findex gnus-Subject-save-in-file X The variable @code{gnus-article-save-directory} specifies a directory Xto which articles are saved to by the functions X@code{gnus-Subject-save-in-mail}, @code{gnus-Subject-save-in-rmail}, and X@code{gnus-Subject-save-in-file}. It is initialized from the X@code{SAVEDIR} environment variable. The default directory is X@samp{~/News}.@refill X X@vindex gnus-article-save-name X@findex gnus-article-save-name X@vindex gnus-use-long-file-name X The variable @code{gnus-article-save-name} specifies a function Xgenerating default file name to which articles are saved. The function Xmust accept @var{newsgroup} and @var{headers} as its arguments. The Xdefault function @code{gnus-article-save-name} generates a file name Xlike @samp{~/News/@var{news.group}} if the variable X@code{gnus-use-long-file-name} is @code{nil}. If the variable is Xnon-@code{nil}, a directory form of newsgroup like X@samp{~/News/@var{news}/@var{group}/@var{number}} is generated Xinstead.@refill X X@vindex gnus-article-mh-folder X@vindex gnus-article-default-saver X@findex gnus-Subject-save-in-folder X The variable @code{gnus-article-mh-folder} specifies an MH folder name Xto which articles are saved by the function X@code{gnus-Subject-save-in-folder}. Use the variable X@code{gnus-article-default-saver} to change the default folder name Xaccording to the current newsgroup.@refill X X @xref{Variables}, for more information on customization.@refill X X@node Sorting Headers, Followup and Reply, Saving Articles, Subject Commands X@section Sorting Headers X@cindex sort headers X X The headers listed in the Subject buffer can be sorted by number, Xsubject, date, or author of articles. Sorting is stable, so it is Xpossible to combine them to sort the headers with multiple keys. To Xsort in reverse order, give a prefix argument to the commands. X X@table @kbd X@item C-c C-s n X@itemx C-c C-s C-n X@kindex C-c C-s n (Subject Mode) X@kindex C-c C-s C-n (Subject Mode) X@findex gnus-Subject-sort-by-number XSort the headers by number (@code{gnus-Subject-sort-by-number}).@refill X X@item C-c C-s s X@itemx C-c C-s C-s X@kindex C-c C-s s (Subject Mode) X@kindex C-c C-s C-s (Subject Mode) X@findex gnus-Subject-sort-by-subject XSort the headers by subject X(@code{gnus-Subject-sort-by-subject}).@refill X X@item C-c C-s d X@itemx C-c C-s C-d X@kindex C-c C-s d (Subject Mode) X@kindex C-c C-s C-d (Subject Mode) X@findex gnus-Subject-sort-by-date XSort the headers by date (@code{gnus-Subject-sort-by-date}). X X@item C-c C-s a X@itemx C-c C-s C-a X@kindex C-c C-s a (Subject Mode) X@kindex C-c C-s C-a (Subject Mode) X@findex gnus-Subject-sort-by-author XSort the headers by author (@code{gnus-Subject-sort-by-author}). X@end table X X@vindex gnus-Select-group-hook X It is also possible to sort the headers automatically when a newsgroup Xis selected using the hook @code{gnus-Select-group-hook} X(@pxref{Hooks}).@refill X X@node Followup and Reply, Exiting Newsgroup, Sorting Headers, Subject Commands X@section Followup and Reply X@cindex followup to article X@cindex reply to articles X@cindex post articles X@cindex mail X X@table @kbd X@item f X@kindex f (Subject Mode) X@findex gnus-Subject-post-reply XFollowup to the current article (@code{gnus-Subject-post-reply}). X X@item a X@kindex a (Subject Mode) X@findex gnus-Subject-post-news XCompose a new article (@code{gnus-Subject-post-news}). X X@item C X@kindex C (Subject Mode) X@findex gnus-Subject-cancel XCancel the current article you posted (@code{gnus-Subject-cancel}). X@end table X X@kindex a (Subject Mode) X@findex gnus-Subject-post-news X@kindex f (Subject Mode) X@findex gnus-Subject-post-reply X@vindex gnus-novice-user X Type @kbd{a} (@code{gnus-Subject-post-news}) to post a new article. XIf the variable @code{gnus-novice-user} is non-@code{nil}, the Xnewsgroup, subject, and distribution are asked for interactively. The Xcommand @kbd{f} (@code{gnus-Subject-post-reply}) fills these values in Xautomatically from those of the original article.@refill X X@cindex News Mode X@kindex C-c C-y (News Mode) X@findex news-reply-yank-original X@kindex C-h m X@findex describe-mode X The major mode for composing a new article is @dfn{News Mode} which is Xborrowed from @file{rnewspost.el}. Type @kbd{C-c C-y} X(@code{news-reply-yank-original}) to include the original article. Type X@kbd{C-h m} (@code{describe-mode}) to get more help for News XMode.@refill X X@table @kbd X@item r X@kindex r (Subject Mode) X@findex gnus-Subject-mail-reply XReply to the author of the current article (@code{gnus-Subject-mail-reply}). X X@item m X@kindex m (Subject Mode) X@findex gnus-Subject-mail-other-window XCompose a mail message in other window (@code{gnus-Subject-mail-other-window}). X@end table X X@cindex Mail Mode X@kindex r (Subject Mode) X@findex gnus-Subject-mail-reply X@kindex C-c C-y (Mail Mode) X@findex mail-yank-original X Use the command @kbd{r} (@code{gnus-Subject-mail-reply}) to reply to Xthe author of the article. Type @kbd{C-c C-y} X(@code{mail-yank-original}) to include the original article. X@inforef{Mail Mode, Mail Mode, emacs}, for more information.@refill X X@node Exiting Newsgroup, Other Subject Commands, Followup and Reply, Subject Commands X@section Exiting the Current Newsgroup X X@table @kbd X@item q X@kindex q (Subject Mode) X@findex gnus-Subject-exit XExit the current newsgroup, and return to Group Mode X(@code{gnus-Subject-exit}).@refill X X@item Q X@kindex Q (Subject Mode) X@findex gnus-Subject-quit XExit the current newsgroup without recording unread articles information X(@code{gnus-Subject-quit}).@refill X X@item c X@kindex c (Subject Mode) X@findex gnus-Subject-catch-up-and-exit X@cindex catch up XMark all articles as read, and then exit the current newsgroup X(@code{gnus-Subject-catch-up-and-exit}).@refill X X@item G X@kindex G (Subject Mode) X@findex gnus-Subject-reselect-current-group XRecord unread articles information, and then reselect the current Xnewsgroup (@code{gnus-Subject-reselect-current-group}).@refill X X@item M-x gnus-Subject-next-group X@findex gnus-Subject-next-group XRecord unread articles information, and then select the next newsgroup Xcontaining unread articles.@refill X X@item M-x gnus-Subject-prev-group X@findex gnus-Subject-prev-group XRecord unread articles information, and then select the previous Xnewsgroup containing unread articles.@refill X@end table X X@kindex G (Subject Mode) X@findex gnus-Subject-reselect-current-group X The command @kbd{G} (@code{gnus-Subject-reselect-current-group}) Xselects the current newsgroup again after temporary exiting the Xnewsgroup. If no articles remain unread, all articles in the newsgroup Xwill be selected. A prefix argument to the command means to select all Xarticles in the newsgroup.@refill X X@node Other Subject Commands,, Exiting Newsgroup, Subject Commands X@section Miscellaneous Commands X X Other miscellaneous commands are described here. X X@table @kbd X@item M-k X@kindex M-k (Subject Mode) X@findex gnus-Subject-edit-local-kill X@cindex edit local KILL file XEdit a local KILL file applied to the current newsgroup X(@code{gnus-Subject-edit-local-kill}). @xref{KILL File}, for more Xinformation.@refill X X@item V X@kindex V (Subject Mode) X@findex gnus-version X@cindex version number of GNUS X@cindex GNUS version number XPrint version number of this GNUS (@code{gnus-version}). X X@item ? X@kindex ? (Subject Mode) X@findex gnus-Subject-describe-briefly X@cindex brief help message X@cindex help briefly XDescribe Subject Mode commands briefly X(@code{gnus-Subject-describe-briefly}).@refill X X@item C-c C-i X@kindex C-c C-i (Subject Mode) X@findex gnus-Info-find-node X@cindex read Info file X@cindex Info XRead Info on Subject Mode (@code{gnus-Info-find-node}). X@xref{Texinfo Manual}, to prepare an Info file of GNUS.@refill X@end table X X@node Article Commands, KILL File, Subject Commands, Top X@chapter Article Commands X X In the Article buffer the following commands are available: X X@table @kbd X@item SPC X@kindex SPC (Article Mode) X@findex gnus-Article-next-page XScroll text of the current window (@code{gnus-Article-next-page}). X X@item DEL X@kindex DEL (Article Mode) X@findex gnus-Article-prev-page XScroll text of the current window (@code{gnus-Article-prev-page}). X X@item r X@kindex r (Article Mode) X@findex gnus-Article-refer-article XRefer to article specified by the Message-ID close to the point X(@code{gnus-Article-refer-article}).@refill X X@item o X@kindex o (Article Mode) X@findex gnus-Article-pop-article XReturn to the previous article from the referenced article X(@code{gnus-Article-pop-article}).@refill X X@item h X@itemx s X@kindex h (Article Mode) X@kindex s (Article Mode) X@findex gnus-Article-show-subjects XReconfigure Emacs windows to show the Subject buffer above the Article Xbuffer and move the point to the Subject buffer X(@code{gnus-Article-show-subjects}).@refill X X@item ? X@kindex ? (Article Mode) X@findex gnus-Article-describe-briefly X@cindex brief help message X@cindex help briefly XDescribe Article Mode commands briefly X(@code{gnus-Article-describe-briefly}).@refill X X@item C-c C-i X@kindex C-c C-i (Article Mode) X@findex gnus-Info-find-node X@cindex read Info file X@cindex Info XRead Info on Article Mode (@code{gnus-Info-find-node}). X@xref{Texinfo Manual}, to prepare an Info file of GNUS.@refill X@end table X X@kindex r (Article Mode) X@findex gnus-Article-refer-article X@kindex o (Article Mode) X@findex gnus-Article-pop-article X The command @kbd{r} (@code{gnus-Article-refer-article}) searches for Xthe Message-ID around the point, and refers to an article specified by Xit if found. Use the command @kbd{o} (@code{gnus-Article-pop-article}) Xto return to the previous article. @xref{Referencing Articles}, for Xreferencing parent articles easily.@refill X X@node KILL File, Customization, Article Commands, Top X@chapter KILL File X@cindex KILL file X X@ifinfo X The purpose of a KILL file and its usage are described here. X@end ifinfo X X@menu X* What KILL Files Do:: An introduction to a KILL file. X* Making a KILL File:: How to make a KILL file. X* Editing KILL Files:: How to edit KILL files. X* Example of a KILL File:: An example of a KILL file. X* Advanced Kills:: Advanced features of KILL files. X@end menu X X@node What KILL Files Do, Making a KILL File, KILL File, KILL File X@section What KILL Files Do X X A @dfn{KILL} file contains lisp expressions to be applied to a Xnewsgroup selected to be read. The purpose is to mark articles as read Xon the basis of some set of regexps.@refill X X@cindex global KILL file X@cindex local KILL file X There are two kinds of KILL files, global and local. A global KILL Xfile is applied to every newsgroup, and a local KILL file to a specified Xnewsgroup. Since a global KILL file is applied to every newsgroup, for Xbetter performance use a local one.@refill X X@node Making a KILL File, Editing KILL Files, What KILL Files Do, KILL File X@section Making a KILL File X X A KILL file can contain any kind of Emacs lisp expressions expected to Xbe evaluated in the Subject buffer. Writing lisp programs for this Xpurpose is not easy because the internal working of GNUS must be Xwell-known. For this reason, GNUS provides a general function which does Xthis easily for non-lisp programmers.@refill X X@example X(gnus-kill @var{field} @var{regexp} &optional @var{command}) X@end example X X@findex gnus-kill X@findex gnus-Subject-mark-as-read X@noindent XThe @code{gnus-kill} function executes commands available in Subject XMode by their key sequences. @code{gnus-kill} should be called with X@var{field}, @var{regexp}, and optional @var{command}. @var{Field} is a Xstring representing the header field or an empty string. If @var{field} Xis an empty string, the entire article body is searched for. X@var{Regexp} is a string which is compared with @var{field} value. X@var{Command} is a string representing a valid key sequence in Subject XMode or a lisp expression. @var{Command} is default to X@code{(gnus-Subject-mark-as-read nil "X")}. Make sure that X@var{command} is executed in the Subject buffer.@refill X X For example, if you want to mark articles of which subjects contain Xthe string @samp{AI} as read, a possible KILL file may look like:@refill X X@example X(gnus-kill "Subject" "AI") X@end example X X If you want to mark articles with @samp{D} instead of @samp{X}, you Xcan use the following expression:@refill X X@example X(gnus-kill "Subject" "AI" "d") X@end example X X@findex gnus-Subject-mark-as-read-forward X@noindent XIn this example it is assumed that the command X@code{gnus-Subject-mark-as-read-forward} is assigned to @kbd{d} in XSubject Mode.@refill X X It is possible to delete unnecessary headers which are marked with X@samp{X} in a KILL file by using the function X@code{gnus-Subject-delete-marked-with} as follows:@refill X X@findex gnus-Subject-delete-marked-with X@example X(gnus-Subject-delete-marked-with "X") X@end example X X If the Subject buffer is empty after applying KILL files, GNUS will Xexit the selected newsgroup normally. If headers which are marked with X@samp{D} are deleted in a KILL file, it is impossible to read articles Xwhich are marked as read in the previous GNUS sessions. Marks other Xthan @samp{D} should be used for articles which should really be Xdeleted.@refill X X@vindex case-fold-search X@cindex case of text X All sorts of searches in Subject Mode normally ignore the case of the Xtext they are searching through. If you do not want to ingore the case, Xset the variable @code{case-fold-search} to @code{nil}.@refill X X@node Editing KILL Files, Example of a KILL File, Making a KILL File, KILL File X@section Editing KILL Files X@cindex edit local KILL file X@cindex edit global KILL file X X@kindex M-K (Group Mode) X@findex gnus-Group-edit-global-kill X@vindex gnus-article-save-directory X@vindex gnus-kill-file-name X The command @kbd{M-K} (@code{gnus-Group-edit-global-kill}) in Group XMode pops up an Emacs buffer for editing a global KILL file. A global XKILL file is created under a directory specified by the variable X@code{gnus-article-save-directory} (default to @file{~/News}), and its Xfile name is specified by the variable @code{gnus-kill-file-name} X(default to @file{KILL}).@refill X X@kindex M-k (Subject Mode) X@findex gnus-Subject-edit-local-kill X@kindex M-k (Group Mode) X@findex gnus-Group-edit-local-kill X@vindex gnus-article-save-directory X@vindex gnus-use-long-file-name X The command @kbd{M-k} in Subject Mode and Group Mode X(@code{gnus-Subject-edit-local-kill} and X@code{gnus-Group-edit-local-kill}) pops up an Emacs buffer for editing a Xlocal KILL file. A local KILL file for a newsgroup @var{news.group} is Xcreated as @file{@var{news.group}.KILL} under the directory specified by Xthe variable @code{gnus-article-save-directory} if the variable X@code{gnus-use-long-file-name} is non-@code{nil}. Otherwise, if the Xvariable @code{gnus-use-long-file-name} is @code{nil}, the file is Xcreated as @file{@var{news}/@var{group}/KILL} under the same Xdirectory.@refill X X@cindex Edit KILL File Mode X@cindex Emacs-Lisp Mode X The major mode of these buffers is @dfn{Edit KILL File Mode}. This Xmode is specialized for editing Emacs lisp programs the same as XEmacs-Lisp Mode. In addition to Emacs-Lisp Mode, the following commands Xare available:@refill X X@table @kbd X@item C-c C-c X@kindex C-c C-c (Edit KILL File Mode) X@findex gnus-Kill-file-exit XSave the KILL file and then return to the previous buffer X(@code{gnus-Kill-file-exit}).@refill X X@item C-c C-i X@kindex C-c C-i (Edit KILL File Mode) X@findex gnus-Info-find-node X@cindex read Info file X@cindex Info XRead Info on KILL file (@code{gnus-Info-find-node}). X@xref{Texinfo Manual}, to prepare an Info file of GNUS.@refill X@end table X X@node Example of a KILL File, Advanced Kills, Editing KILL Files, KILL File X@section Example of a KILL File X@cindex KILL file examples X@cindex example of a KILL file X X The following is an example of a local KILL file for newsgroup X@samp{control}. This is currently being used by the author.@refill X X@vindex gnus-nntp-server X@findex gnus-kill X@findex gnus-Subject-delete-marked-with X@example X;; Apply to the newsgroup `control' if the NNTP server is flab. X(if (string-equal gnus-nntp-server "flab") X (progn X (gnus-kill "Subject" "ihave flab\\|sendme") X (gnus-kill "Subject" "cancel\\|newgroup\\|rmgroup" "d") X (gnus-Subject-delete-marked-with "X"))) X@end example X X@node Advanced Kills,, Example of a KILL File, KILL File X@section Advanced Kill Processing X X@findex gnus-Kill-file-apply X@vindex gnus-Apply-kill-hook X Internally, applying kills means to run the hook X@code{gnus-Apply-kill-hook}. It is called after the Subject buffer is Xprepared for a selected newsgroup. The default hook is the function X@code{gnus-Kill-file-apply} which loads a global KILL file and a local XKILL file in this order. A different style of the kill processing can Xbe implemented by customizing this hook.@refill X X For example, if you think a global KILL file is unnecessary, you can Xuse the following hook which applies only a local KILL file. This Xchange can save the time for checking the existence of a global KILL Xfile.@refill X X@vindex gnus-Apply-kill-hook X@findex gnus-Kill-file-name X@example X(setq gnus-Apply-kill-hook X '(lambda () X ;; Apply a local KILL file. X (load (gnus-Kill-file-name nil) t nil t))) X@end example X X On the contrary, the following example enables only a global KILL Xfile.@refill X X@vindex gnus-Apply-kill-hook X@findex gnus-Kill-file-name X@example X(setq gnus-Apply-kill-hook X '(lambda () X ;; Apply a global KILL file. X (load (gnus-Kill-file-name t) t nil t))) X@end example X X Here is an advanced example that drastically saves the time for Xapplying KILL files. This hook does the kill processing directly Xwithout loading the KILL files.@refill X X@vindex gnus-nntp-server X@vindex gnus-newsgroup-name (Internal) X@findex gnus-kill X@findex gnus-Subject-delete-marked-with X@example X(setq gnus-Apply-kill-hook X '(lambda () X ;; Apply to the newsgroup `control' X ;; if the NNTP server is flab. X (and (string-equal gnus-nntp-server "flab") X (string-equal gnus-newsgroup-name "control") X (progn X (gnus-kill "Subject" "ihave flab\\|sendme") X (gnus-kill "Subject" "cancel\\|newgroup\\|rmgroup" "d") X (gnus-Subject-delete-marked-with "X"))))) X@end example X X@node Customization, Problems, KILL File, Top X@appendix Customizing GNUS X X Appendix A describes the variables and hooks for simple customizations Xand the variables for localizations. X X@menu X* Variables:: Variables for customizing GNUS. X X* NNTP Variables:: Variables for localizing NNTP environment. X* Spool Variables:: Variables for localizing news spool environment. X* Directory Variables:: Variables for localizing private directory environment. X X* Hooks:: Function hooks for customizing GNUS. X@end menu X X@node Variables, NNTP Variables, Customization, Customization X@appendixsec Common Variables X X@table @code X@vindex gnus-nntp-server X@vindex NNTPSERVER X@cindex NNTP server X@item gnus-nntp-server X X@cindex private directory XSpecifies the name of the host running the NNTP server. The variable is Xinitialized from the @code{NNTPSERVER} environment variable. If the Xserver name is preceded by a colon such as @samp{:Mail}, the user's Xprivate directory @file{~/Mail} is used as a news spool. @xref{NNTP XServer}, and @pxref{Private Directory}, for more information.@refill X X@vindex gnus-nntp-service X@cindex NNTP service X@item gnus-nntp-service X XSpecifies a service name of NNTP, usually a string @code{"nntp"}. In a Xfew instances, it must be the number @code{119}. To use a local news Xspool of your machine rather than NNTP, set the variable to @code{nil}. X@xref{NNTP Service}, and @pxref{Local News Spool}, for more Xinformation.@refill X X@vindex gnus-your-domain X@vindex DOMAINNAME X@findex system-name X@cindex domain X@item gnus-your-domain X XSpecifies the domain which is the domain part of your mail address Xexcluding the local host name of your machine. The environment variable X@code{DOMAINNAME} is used instead if defined. If the function X@code{system-name} returns the full Internet name, there is no need to Xdefine the domain. @xref{Domain,, Domain and Organization}, for more Xinformation.@refill X X@vindex gnus-your-organization X@vindex ORGANIZATION X@cindex organization X@item gnus-your-organization X XSpecifies the organization you belong to. The environment variable X@code{ORGANIZATION} is used instead if defined. The organization must Xbe defined unconditionally. @xref{Domain,, Domain and Organization}, Xfor more information.@refill X X@vindex gnus-use-generic-from X@vindex gnus-your-domain X@vindex DOMAINNAME X@cindex GENERICFROM X@cindex From field X@item gnus-use-generic-from X XNon-@code{nil} means the local host name of your machine will not appear Xin the @samp{From:} field of article headers. If the variable is a Xstring, it is used as your domain instead of the definition by the Xvariable @code{gnus-your-domain} or the environment variable X@code{DOMAINNAME}. @xref{GENERICFROM}, for more information.@refill X X@vindex gnus-use-generic-path X@cindex GENERICPATH X@cindex Path field X@item gnus-use-generic-path X XNon-@code{nil} means the NNTP server name will not appear in the X@samp{Path:} field of article headers. If the variable is a string, it Xis used in the @samp{Path:} field as the NNTP server name instead of the Xdefinition by the variable @code{gnus-nntp-server}. @xref{GENERICPATH}, Xfor more information.@refill X X@vindex gnus-startup-file X@cindex startup file X@cindex .newsrc X@item gnus-startup-file X XSpecifies a startup file of the Bnews system, usually @file{.newsrc}. XIf there is a file named @file{.newsrc-@var{server}}, it is used instead Xwhen talking to @var{server}. @xref{Startup File}, for more Xinformation.@refill X X@vindex gnus-signature-file X@cindex .signature X@cindex signature X@item gnus-signature-file X XSpecifies a signature file of the Bnews system, usually X@file{.signature}. If there is a file named X@file{.signature-@var{distribution}}, it is used instead when posting an Xarticle in @var{distribution}. Set the variable to @code{nil} to Xprevent appending the signature file automatically.@refill X X@vindex gnus-subject-lines-height X@item gnus-subject-lines-height X XSpecifies the height of the Subject Mode window. It is possible to Xchange the height according to that of an Emacs window as follows: X X@example X(setq gnus-Subject-mode-hook X '(lambda () X (setq gnus-subject-lines-height X (/ (window-height) 5)))) X@end example X X@vindex gnus-large-newsgroup X@cindex large newsgroup X@item gnus-large-newsgroup X XSpecifies the number of the articles which indicates a large newsgroup. XIf the number of articles in a newsgroup is greater than this value, the Xnumber of articles to be selected is asked for. If the given value X@var{n} is positive, the last @var{n} articles are selected. If @var{n} Xis negative, the first @var{n} articles are selected. An empty string Xmeans to select all articles.@refill X X@vindex gnus-author-copy-file X@vindex AUTHORCOPY X@cindex post articles X@item gnus-author-copy-file X X@cindex Unix mailbox XSpecifies a file name saving a copy of an article posted. The variable Xis initialized from the @code{AUTHORCOPY} environment variable. The Xarticle is appended to the specified file in Unix mailbox format.@refill X X@cindex MH folder XIf the first character of the value is @code{`|'}, the contents of the Xarticle is piped out to a program specified by the rest of the value. XFor example, articles can be saved in an MH folder by the Xfollowing:@refill X X@pindex rcvstore X@example X(setq gnus-author-copy-file X "|/usr/local/lib/mh/rcvstore +Article") X@end example X X@vindex gnus-use-long-file-name X@item gnus-use-long-file-name X XNon-@code{nil} means that a newsgroup name is used as a default file Xname to save articles to. If it is @code{nil}, the directory form of a Xnewsgroup name is used instead.@refill X X@vindex gnus-article-save-name X@cindex save articles X@item gnus-article-save-name X X@findex nntp-header-@var{field} X@findex gnus-header-@var{field} XSpecifies a function generating a file name to save articles to. The Xfunction is called with two arguments, @var{newsgroup} and X@var{headers}. @var{Newsgroup} is a string representing the current Xnewsgroup name. @var{Headers} is a vector containing headers of the Xcurrent article. Macros and functions accessing contents of the X@var{headers} are defined as @code{nntp-header-@var{field}} and X@code{gnus-header-@var{field}}, respectively.@refill X X@findex gnus-article-save-name X@vindex gnus-use-long-file-name XThe default function @code{gnus-article-save-name} generates a file name Xlike X@iftex X@samp{~/News/@var{news. group}} X@end iftex X@ifinfo X@samp{~/News/@var{news.group}} X@end ifinfo Xif the variable @code{gnus-use-long-file-name} is @code{nil}. If the Xvariable is non-@code{nil}, the directory form of newsgroup like X@samp{~/News/@var{news}/@var{group}/@var{number}} is generated Xinstead.@refill X X@vindex gnus-article-default-saver X@cindex save articles X@item gnus-article-default-saver X X@findex gnus-Subject-save-article XSpecifies a function to save articles in your favorite format using the Xcommand @code{gnus-Subject-save-article}. The function must be Xinteractively funcallable. In other words, it must be an Emacs command. XThe functions currently provided are as follows:@refill X X@table @code X@item gnus-Subject-save-in-mail X@findex gnus-Subject-save-in-mail X@cindex Unix mailbox XSave articles in Unix mailbox format. X X@item gnus-Subject-save-in-rmail X@findex gnus-Subject-save-in-rmail X@cindex Rmail file XSave articles in Rmail format. X X@item gnus-Subject-save-in-folder X@findex gnus-Subject-save-in-folder X@cindex MH folder XSave articles in an MH folder. X X@item gnus-Subject-save-in-file X@findex gnus-Subject-save-in-file XSave articles in a plain file. X@end table X X@vindex gnus-article-save-directory X@vindex SAVEDIR X@findex gnus-Subject-save-in-mail X@findex gnus-Subject-save-in-rmail X@findex gnus-Subject-save-in-file X@cindex save articles X@item gnus-article-save-directory X XSpecifies a directory name to save articles to using the commands X@code{gnus-Subject-save-in-rmail}, @code{gnus-Subject-save-in-mail} and X@code{gnus-Subject-save-in-file}. The variable is initialized from the X@code{SAVEDIR} environment variable. Its default value is X@file{~/News}.@refill X X@vindex gnus-article-mh-folder X@cindex MH folder X@cindex save articles X@item gnus-article-mh-folder X X@findex gnus-Subject-save-in-folder XSpecifies an MH folder name saving articles by using the command X@code{gnus-Subject-save-in-folder}. It is possible to change the default Xfolder according to the currently selected newsgroup as follows:@refill X X@vindex gnus-newsgroup-name (Internal) X@example X(setq gnus-article-default-saver X '(lambda () X (interactive) X (let ((gnus-article-mh-folder X (concat "+" gnus-newsgroup-name))) X (call-interactively X 'gnus-Subject-save-in-folder))))") X@end example X X@vindex gnus-kill-file-name X@cindex KILL file X@item gnus-kill-file-name X XSpecifies a file name of KILL file (@pxref{KILL File}). Its default Xvalue is @file{KILL}.@refill X X@vindex gnus-default-distribution X@cindex distribution X@item gnus-default-distribution X XSpecifies a distribution inserted automatically when no distribution is Xspecified. X X@vindex gnus-novice-user X@item gnus-novice-user X XNon-@code{nil} means you are a novice to USENET. If it is Xnon-@code{nil}, you will be prompted for newsgroup, subject, and Xdistribution when posting a new article.@refill X X@vindex gnus-user-login-name X@vindex USER X@vindex LOGNAME X@cindex login name X@item gnus-user-login-name X XSpecifies your login name. It is initialized from the @code{USER} and Xthe @code{LOGNAME} environment variables.@refill X X@vindex gnus-user-full-name X@vindex NAME X@cindex user full name X@cindex full name of user X@item gnus-user-full-name X XSpecifies your full name. It is initialized from the @code{NAME} Xenvironment variable.@refill X X@vindex gnus-show-all-headers X@item gnus-show-all-headers X XNon-@code{nil} means all headers of an article are shown. X X@vindex gnus-save-all-headers X@cindex save articles X@item gnus-save-all-headers X XNon-@code{nil} means all headers of an article are saved in a file. X X@vindex gnus-auto-select-first X@item gnus-auto-select-first X XNon-@code{nil} means the first unread article is selected automatically Xwhen a newsgroup is selected. If you'd like to prevent automatic Xselection of the first unread article in some newsgroups, set the Xvariable to @code{nil} in the hook @code{gnus-Select-group-hook} or X@code{gnus-Apply-kill-hook} (@pxref{Hooks}).@refill X X@vindex gnus-auto-select-next X@item gnus-auto-select-next X XNon-@code{nil} means the next newsgroup is selected automatically at the Xend of the newsgroup. If the value is @code{t} and the next newsgroup is Xempty (no unread articles), GNUS will exit Subject Mode and go back to XGroup Mode. If the value is neither @code{nil} nor @code{t}, GNUS won't Xexit Subject Mode but will select the following unread newsgroup. If Xthe value is @samp{quietly}, the next unread newsgroup will be selected Xwithout any confirmations.@refill X X@vindex gnus-auto-select-same X@item gnus-auto-select-same X X@pindex rn XNon-@code{nil} means an article with the same subject as the current Xarticle is selected automatically like @samp{rn -S}.@refill X X@vindex gnus-break-pages X@vindex gnus-more-message X@vindex gnus-page-delimiter X@cindex page break X@cindex break into pages X@item gnus-break-pages X XNon-@code{nil} means an article is broken into pages at page delimiters. XThe page delimiter is specified by the variable X@code{gnus-page-delimiter}. A message shown at the end of pages is Xspecified by the variable @code{gnus-more-message}. This may not work Xwith some versions of GNU Emacs earlier than version 18.50.@refill X X@vindex gnus-page-delimiter X@cindex page break X@cindex break into pages X@item gnus-page-delimiter X XSpecifies regexp describing line-beginnings that separate pages of Xarticles. Its default value is @code{"^\^L"}.@refill X X@vindex gnus-more-message X@cindex page break X@cindex break into pages X@item gnus-more-message X XSpecifies a message shown at the end of each page in page break mode. XThe length of the message string must be shorter than or equal to that Xof the page delimiter if GNU Emacs is earlier than version 18.52. X X@vindex gnus-digest-show-summary X@findex gnus-Subject-rmail-digest X@cindex Rmail X@cindex digest summary X@cindex summary of digest X@item gnus-digest-show-summary X XNon-@code{nil} means that a summary of digest messages is shown when Xreading a digest article using the command X@code{gnus-Subject-rmail-digest}.@refill X X@vindex gnus-optional-headers X@item gnus-optional-headers X X@findex nntp-header-@var{field} X@findex gnus-header-@var{field} XSpecifies a function which generates an optional string displayed in the XSubject buffer. The function is called with an article @var{headers}, Xand must return a string excluding @samp{[} and @samp{]}. @var{Headers} Xis a vector containing headers of the current article. Macros and Xfunctions accessing contents of the @var{headers} are defined as X@code{nntp-header-@var{field}} and @code{gnus-header-@var{field}}, Xrespectively.@refill X XGNUS provides two functions as follows: X X@table @code X@findex gnus-optional-lines-and-from X@item gnus-optional-lines-and-from XReturn a string like "@var{nnn}:@var{author}", where @var{nnn} is the Xnumber of lines in an article and @var{author} is the name of the Xauthor.@refill X X@findex gnus-optional-lines X@item gnus-optional-lines XReturn a string like "@var{nnn}", where @var{nnn} is the number of lines Xin an article.@refill X@end table X X@xref{Hooks}, to change optional headers according to selected Xnewsgroups.@refill X X@vindex gnus-keep-subject-centered X@item gnus-keep-subject-centered X XNon-@code{nil} means that the cursor is always kept centered in the XSubject Mode window.@refill X X@vindex gnus-Info-directory X@cindex Info X@item gnus-Info-directory X X@vindex Info-directory XSpecifies a directory where the GNUS Info file is placed. It is not Xnecessary to change this variable unless you install an Info file in a Xdirectory different from the variable @code{Info-directory}. X@xref{Texinfo Manual}, for more information.@refill X X@end table X X@node NNTP Variables, Spool Variables, Variables, Customization X@appendixsec NNTP Specific Variables X@cindex NNTP X X@table @code X@vindex nntp-buggy-select X@cindex select error X@item nntp-buggy-select X XNon-@code{nil} means the select routine of your operating system is Xbuggy. GNUS may hang up while waiting for NNTP server responses. The Xproblem may be solved by setting the variable to @code{t}. @xref{NNTP XProblems}, for more information.@refill X X@vindex nntp-maximum-request X@cindex large newsgroup X@item nntp-maximum-request X XSpecifies the maximum number of requests to be sent to the NNTP server Xat one time. GNUS may hang up while retrieving headers of a large Xnewsgroup because sending many requests to the NNTP server without Xreading replies to them causes deadlock. In this case, set the variable Xto a lower number. @xref{NNTP Problems}, for more information.@refill X X@vindex nntp-large-newsgroup X@cindex large newsgroup X@item nntp-large-newsgroup X XSpecifies the number of articles which indicates a large newsgroup. If Xthe number of articles is greater than the value, verbose messages will Xbe shown to indicate the current status.@refill X X@vindex tcp-program-name X@item tcp-program-name X X@pindex tcp.c XSpecifies a program which establishes communications between Emacs and Xthe NNTP server. Its default value is @file{tcp} which is distributed as X@file{tcp.c} with other files of GNUS (@pxref{Files of GNUS}). If your XEmacs has the function @code{open-network-stream}, there is no need to Xdefine this variable. X X@end table X X@node Spool Variables, Directory Variables, NNTP Variables, Customization X@appendixsec Local News Spool Specific Variables X@cindex local news spool X X@table @code X@vindex nnspool-inews-program X@item nnspool-inews-program X X@vindex news-inews-program X@pindex inews XSpecifies a program to post news. This is default to the variable X@code{news-inews-program} which is default to @file{inews}. X X@vindex nnspool-inews-switches X@item nnspool-inews-switches X X@findex nntp-request-post X@pindex inews XSpecifies switches for the function @code{nntp-request-post} to pass to Xthe command @file{inews} for posting news. Its default value is X@code{"-h"}.@refill X X@vindex nnspool-spool-directory X@item nnspool-spool-directory X X@vindex news-path XSpecifies a directory of a local news spool. This is default to the Xvariable @code{news-path} which is default to @file{/usr/spool/news}. X X@vindex nnspool-active-file X@item nnspool-active-file X X@cindex active file XSpecifies an active file of the Bnews system for a local news spool. XIts default value is @file{/usr/lib/news/active}.@refill X X@vindex nnspool-history-file X@item nnspool-history-file X X@cindex history file XSpecifies a history file of the Bnews system for a local news spool. XIts default value is @file{/usr/lib/news/history}. Some machines may Xnot have this file. In this case, commands to refer to articles by Xusing Message-IDs will not work at all (@pxref{Referencing XArticles}).@refill X X@end table X X@node Directory Variables, Hooks, Spool Variables, Customization X@appendixsec Private Directory Specific Variables X@cindex private directory X X@table @code X@vindex mhspool-list-directory-switches X@item mhspool-list-directory-switches X X@findex nntp-request-list X@pindex ls XSpecifies switches for the function @code{nntp-request-list} to pass to Xthe command @file{ls} for getting file lists in a private directory. XThere should be one entry for each line. Its default value is X@code{"-R"}. Some machines may require the @code{"-R1"} switch.@refill X X@end table X X@node Hooks,, Directory Variables, Customization X@appendixsec Function Hooks X X@table @code X@vindex gnus-Group-mode-hook X@item gnus-Group-mode-hook X XCalled with no arguments after initializing Group Mode if its value is Xnon-@code{nil}. This hook is intended to customize Group Mode only once. XIt is possible to define or change the NNTP server as you like it in Xthis hook since the hook is called before GNUS is connected to an NNTP Xserver.@refill X X@vindex gnus-Subject-mode-hook X@item gnus-Subject-mode-hook X X@vindex case-fold-search X@cindex case of text XCalled with no arguments after initializing Subject Mode if its value is Xnon-@code{nil}. This hook is intended to customize Subject Mode only Xonce. All sorts of searches in Subject Mode normally ignore the case of Xthe text they are searching through. If you do not want to ingore the Xcase, set the variable @code{case-fold-search} to @code{nil} in this Xhook.@refill X X@findex gnus-Subject-next-group X@findex gnus-Subject-prev-group XThe following example shows how to assign the functions X@code{gnus-Subject-next-group} and @code{gnus-Subject-prev-group} to Xkeys in Subject Mode.@refill X X@example X(setq gnus-Subject-mode-hook X '(lambda () X (local-set-key "\C-cn" 'gnus-Subject-next-group) X (local-set-key "\C-cp" 'gnus-Subject-prev-group))) X@end example X X@vindex gnus-Article-mode-hook X@item gnus-Article-mode-hook X XCalled with no arguments after initializing Article Mode if its value is Xnon-@code{nil}. This hook is intended to customize Article Mode only Xonce.@refill X X@vindex gnus-Kill-file-mode-hook X@item gnus-Kill-file-mode-hook X XCalled with no arguments after initializing Edit KILL File Mode if its Xvalue is non-@code{nil}. X X@vindex gnus-Startup-hook X@item gnus-Startup-hook X XCalled with no arguments after an NNTP server is successfully connected Xto if its value is non-@code{nil}. It is possible to change the behavior Xof GNUS according to the server.@refill X X@vindex gnus-Group-prepare-hook X@item gnus-Group-prepare-hook X XCalled with no arguments after a list of newsgroups is prepared in the XNewsgroup buffer. This hook is used for moving the point to the first Xunread (non empty) newsgroup by default. This hook can also be used for Xmodifying the buffer. X XThe following example is the default hook definition: X X@example X(setq gnus-Group-prepare-hook X (function X (lambda () X ;; Move the point to the first unread newsgroup. X (goto-char (point-min)) X (re-search-forward "^[ \t]+[1-9][0-9]*:" nil t)))) X@end example X X@vindex gnus-Subject-prepare-hook X@item gnus-Subject-prepare-hook X XCalled with no arguments after list of subjects is prepared in the XSubject buffer. This hook is intended to modify the buffer. X X@vindex gnus-Article-prepare-hook X@item gnus-Article-prepare-hook X XCalled with no arguments after an article is prepared in the Article Xbuffer. This hook is intended to modify the buffer. For example, kanji Xcode conversion or un-ROT13-ing can be done in this hook. X X@vindex gnus-Select-group-hook X@item gnus-Select-group-hook X XCalled with no arguments when a newsgroup is selected. This hook is Xintended to change the behavior of GNUS according to the selected Xnewsgroup. X X@cindex sort headers XThe following is an example of sorting the headers listed in the Subject Xbuffer by date and then by subject. Preceding @samp{Re:} of subjects is Xignored while comparing subjects.@refill X X@findex gnus-sort-headers X@findex gnus-date-lessp X@findex gnus-header-date X@findex gnus-header-subject X@findex gnus-simplify-subject X@example X(setq gnus-Select-group-hook X '(lambda () X ;; First of all, sort by date. X (gnus-sort-headers X '(lambda (a b) X (gnus-date-lessp (gnus-header-date a) X (gnus-header-date b)))) X ;; Then sort by subject ignoring `Re:'. X (gnus-sort-headers X '(lambda (a b) X (string-lessp X (gnus-simplify-subject X (gnus-header-subject a) 're-only) X (gnus-simplify-subject X (gnus-header-subject b) 're-only) X ))))) X@end example X X@cindex simplify subjects XThe following is an example of simplifying subjects like the X@code{gnus-Subject-next-same-subject} command does:@refill X X@findex nntp-set-header-subject X@findex gnus-simplify-subject X@findex gnus-header-subject X@vindex gnus-newsgroup-headers (Internal) X@example X(setq gnus-Select-group-hook X '(lambda () X (mapcar (function X (lambda (header) X (nntp-set-header-subject X header X (gnus-simplify-subject X (gnus-header-subject header) 're-only)))) X gnus-newsgroup-headers))) X@end example X XIn some newsgroups author names are meaningless. It is possible to Xprevent listing author names in the Subject buffer as follows: X X@vindex gnus-optional-headers X@vindex gnus-newsgroup-name (Internal) X@findex gnus-optional-lines X@findex gnus-optional-lines-and-from X@example X(setq gnus-Select-group-hook X '(lambda () X (cond ((string-equal "comp.sources.unix" X gnus-newsgroup-name) X (setq gnus-optional-headers X (function gnus-optional-lines))) X (t X (setq gnus-optional-headers X (function X gnus-optional-lines-and-from)))))) X@end example X X@vindex gnus-Select-article-hook X@item gnus-Select-article-hook X XCalled with no arguments when an article is selected if its value is Xnon-@code{nil}.@refill X X@cindex Rmail X@cindex digest articles XIt is possible to run Rmail on a digest article automatically as Xfollows: X X@vindex gnus-newsgroup-name (Internal) X@vindex gnus-current-headers (Internal) X@findex gnus-header-subject X@findex gnus-Subject-rmail-digest X@example X(setq gnus-Select-article-hook X '(lambda () X (cond ((string-equal "comp.sys.sun" X gnus-newsgroup-name) X (gnus-Subject-rmail-digest)) X ((and (string-equal "comp.text" X gnus-newsgroup-name) X (string-match "^TeXhax Digest" X (gnus-header-subject X gnus-current-headers))) X (gnus-Subject-rmail-digest) X )))) X@end example X X@vindex gnus-Select-digest-hook X@cindex Rmail X@cindex digest articles X@item gnus-Select-digest-hook X XCalled with no arguments when reading digest messages using Rmail if its Xvalue is non-@code{nil}. This hook is intended to modify an article so Xthat Rmail can work with it. @xref{Digest Articles}, for more Xinformation on digest articles.@refill X X@cindex incomplete digest articles XThe following example is the default hook definition to modify Xincomplete digest articles: X X@findex mail-position-on-field X@findex gnus-fetch-field X@example X(setq gnus-Select-digest-hook X '(lambda () X ;; Reply-To: is required by X ;; `undigestify-rmail-message'. X (or (mail-position-on-field "Reply-to" t) X (progn X (mail-position-on-field "Reply-to") X (insert (gnus-fetch-field "From")))))) X@end example X X@vindex gnus-Rmail-digest-hook X@cindex Rmail X@cindex digest articles X@item gnus-Rmail-digest-hook X XCalled with no arguments when reading digest messages using Rmail if its Xvalue is non-@code{nil}. This hook is intended to customize Rmail Mode Xfor reading digest articles.@refill X X@vindex gnus-Apply-kill-hook X@cindex KILL file X@item gnus-Apply-kill-hook X XCalled with no arguments when a newsgroup is selected and the Subject Xbuffer is prepared if its value is non-@code{nil}. This hook is intended Xto apply KILL files to the selected newsgroup. It is set to the Xfunction @code{gnus-Kill-file-apply} by default.@refill SHAR_EOF echo "End of part 8, continue with part 9" echo "9" > s2_seq_.tmp exit 0