2003-03-22 Frank Schmitt <ich@frank-schmitt.net>
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 22 Mar 2003 19:15:21 +0000 (19:15 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Sat, 22 Mar 2003 19:15:21 +0000 (19:15 +0000)
* make.bat: Redone from scratch; supports both Emacs and XEmacs
now; correctly generate gnus-load.el; check for errors; use
makeinfo if available, infohack.el if it isn't; be less verbose
when copying files; copy files from etc/gnus and etc/smilies, too

2003-03-22  Frank Schmitt  <ich@frank-schmitt.net>
* make-x.bat: Removed, make.bat does its job now.

2003-03-22  Frank Schmitt  <ich@frank-schmitt.net>
* etc/gnus-tut.txt: Include Gnus FAQ from http://my.gnus.org.

ChangeLog
GNUS-NEWS
etc/gnus-tut.txt
make.bat

index aa17979..6b95a6f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2003-03-22  Frank Schmitt  <ich@frank-schmitt.net> 
+       * make.bat: Redone from scratch; supports both Emacs and XEmacs
+       now; correctly generate gnus-load.el; check for errors; use
+       makeinfo if available, infohack.el if it isn't; be less verbose
+       when copying files; copy files from etc/gnus and etc/smilies, too
+
+2003-03-22  Frank Schmitt  <ich@frank-schmitt.net> 
+       * make-x.bat: Removed, make.bat does its job now.
+
+2003-03-22  Frank Schmitt  <ich@frank-schmitt.net> 
+       * etc/gnus-tut.txt: Include Gnus FAQ from http://my.gnus.org.
+
 2003-02-19  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * GNUS-NEWS: Renamed `gnus-unsightly-citation-regexp' to
index 0598ce5..38f9afb 100644 (file)
--- a/GNUS-NEWS
+++ b/GNUS-NEWS
@@ -8,6 +8,24 @@ For older news, see Gnus info node "New Features".
 \f
 * Changes in Oort Gnus
 
+** New make.bat for compiling and installing Gnus under MS Windows
+
+Use make.bat if you want to install Gnus under MS Windows, the first
+argument to the batch-program should be the directory where xemacs.exe
+respectively emacs.exe is located, iff you want to install Gnus after
+compiling it, give make.bat /copy as the second parameter.
+
+Make.bat has been rewritten from scratch, it now features automatic
+recognition of XEmacs and GNU Emacs, generates gnus-load.el, checks if
+errors occur while compilation and generation of info files and reports
+them at the end of the build process. It now uses makeinfo if it is
+available and falls back to infohack.el otherwise. Make.bat should now
+install all files which are necessary to run Gnus and be generally a
+complete replacement for the "configure; make; make install" cycle used
+under Unix systems.
+
+The new make.bat makes make-x.bat superfluous, so it has been removed.
+
 ** Support for non-ASCII domain names
 
 Message supports non-ASCII domain names in From:, To: and Cc: and will
index 2125de8..65bbfa1 100644 (file)
@@ -293,3 +293,1483 @@ If you have any questions on usage, the "ding@gnus.org" mailing list
 is where to post the questions.
 
 
+From fschmitt Sat Mar 22 18:13:00 2003
+From: faq@my.gnus.org (Gnus FAQ team)
+Date: Sat Mar 22 18:13:00 2003
+Subject: Gnus FAQ
+Message-ID: <lars-doc8@eyesore.no>
+
+This is the text version of the Gnus FAQ, see http://my.gnus.org for
+the up to date version of this document, there you can also find a
+html version and various other formats.
+
+Frequently Asked Questions
+
+Table of Contents
+
+Introduction
+Frequently Asked Questions with Answers
+Glossary
+
+Abstract
+
+This is the new Gnus Frequently Asked Questions list. If you have a
+Web browser, the official hypertext version is at http://
+my.gnus.org/FAQ/ [http://my.gnus.org/FAQ/], the Docbook source is
+available from http://sourceforge.net [http://sourceforge.net/
+projects/gnus/].
+
+Please submit features and suggestions to the FAQ discussion list
+[mailto:faq-discuss@my.gnus.org]. The list is protected against
+junk mail with qconfirm [http://smarden.org/qconfirm/index.html].
+As a subscriber, your submissions will automatically pass. You can
+also subscribe to the list by sending a blank email to
+faq-discuss-subscribe@my.gnus.org
+[mailto:faq-discuss-subscribe@my.gnus.org] and browse the archive.
+
+Introduction
+
+This is the Gnus Frequently Asked Questions list.
+
+Gnus is a Usenet Newsreader and Electronic Mail User Agent
+implemented as a part of Emacs. It's been around in some form for
+almost a decade now, and has been distributed as a standard part of
+Emacs for much of that time. Gnus 5 is the latest (and greatest)
+incarnation. The original version was called GNUS, and was written
+by Masanobu UMEDA. When autumn crept up in '94, Lars Magne
+Ingebrigtsen grew bored and decided to rewrite Gnus.
+
+Its biggest strength is the fact that it is extremely customizable.
+It is somewhat intimidating at first glance, but most of the
+complexity can be ignored until you're ready to take advantage of
+it. If you receive a reasonable volume of e-mail (you're on various
+mailing lists), or you would like to read high-volume mailing lists
+but cannot keep up with them, or read high volume newsgroups or are
+just bored, then Gnus is what you want.
+
+This FAQ was maintained by Justin Sheehy until March 2002. He would
+like to thank Steve Baur and Per Abrahamsen for doing a wonderful
+job with this FAQ before him. We would like to do the same -
+thanks, Justin!
+
+If you have a Web browser, the official hypertext version is at:
+http://my.gnus.org/FAQ/ [http://my.gnus.org/FAQ/]. This version is
+much nicer than the unofficial hypertext versions that are archived
+at Utrecht, Oxford, Smart Pages, Ohio State, and other FAQ
+archives. See the resources question below if you want information
+on obtaining it in another format.
+
+The information contained here was compiled with the assistance of
+the Gnus development mailing list, and any errors or misprints are
+the my.gnus.org team's fault, sorry.
+
+Frequently Asked Questions with Answers
+
+1. Installation FAQ
+   
+    1.1. What is the latest version of Gnus?
+    1.2. Where and how to get Gnus?
+    1.3. What to do with the tarball now?
+    1.4. Which version of Emacs do I need?
+    1.5. How do I run Gnus on both Emacs and XEmacs?
+   
+2. Startup / Group buffer
+   
+    2.1. Every time I start Gnus I get a message "Gnus auto-save
+        file exists. Do you want to read it?", what does this mean
+        and how to prevent it?
+    2.2. Gnus doesn't remember which groups I'm subscribed to,
+        what's this?
+    2.3. How to change the format of the lines in Group buffer?
+    2.4. My group buffer becomes a bit crowded, is there a way to
+        sort my groups into categories so I can easier browse
+        through them?
+    2.5. How to manually sort the groups in Group buffer? How to
+        sort the groups in a topic?
+   
+3. Getting Messages
+   
+    3.1. I just installed Gnus, started it via M-x gnus but it only
+        says "nntp (news) open error", what to do?
+    3.2. I'm working under Windows and have no idea what ~/.gnus
+        means.
+    3.3. My news server requires authentication, how to store user
+        name and password on disk?
+    3.4. Gnus seems to start up OK, but I can't find out how to
+        subscribe to a group.
+    3.5. Gnus doesn't show all groups / Gnus says I'm not allowed
+        to post on this server as well as I am, what's that?
+    3.6. I want Gnus to fetch news from several servers, is this
+        possible?
+    3.7. And how about local spool files?
+    3.8. OK, reading news works now, but I want to be able to read
+        my mail with Gnus, too. How to do it?
+    3.9. And what about IMAP?
+    3.10. At the office we use one of those MS Exchange servers,
+        can I use Gnus to read my mail from it?
+    3.11. Can I tell Gnus not to delete the mails on the server it
+        retrieves via POP3?
+   
+4. Reading messages
+   
+    4.1. When I enter a group, all read messages are gone. How to
+        view them again?
+    4.2. How to tell Gnus to show an important message every time I
+        enter a group, even when it's read?
+    4.3. How to view the headers of a message?
+    4.4. How to view the raw unformatted message?
+    4.5. How can I change the headers Gnus displays by default at
+        the top of the article buffer?
+    4.6. I'd like Gnus NOT to render HTML-mails but show me the
+        text part if it's available. How to do it?
+    4.7. Can I use some other browser than w3 to render my
+        HTML-mails?
+    4.8. Is there anything I can do to make poorly formatted mails
+        more readable?
+    4.9. Is there a way to automatically ignore posts by specific
+        authors or with specific words in the subject? And can I
+        highlight more interesting ones in some way?
+    4.10. How can I disable threading in some (e.g. mail-) groups,
+        or set other variables specific for some groups?
+    4.11. Can I highlight messages written by me and follow-ups to
+        those?
+    4.12. The number of total messages in a group which Gnus
+        displays in group buffer is by far to high, especially in
+        mail groups. Is this a bug?
+    4.13. I don't like the layout of summary and article buffer,
+        how to change it? Perhaps even a three pane display?
+    4.14. I don't like the way the Summary buffer looks, how to
+        tweak it?
+    4.15. How to split incoming mails in several groups?
+   
+5. Composing messages
+   
+    5.1. What are the basic commands I need to know for sending
+        mail and postings?
+    5.2. How to enable automatic word-wrap when composing messages?
+    5.3. How to set stuff like From, Organization, Reply-To,
+        signature...?
+    5.4. Can I set things like From, Signature etc group based on
+        the group I post too?
+    5.5. Is there a spell-checker? Perhaps even on-the-fly
+        spell-checking?
+    5.6. Can I set the dictionary based on the group I'm posting
+        to?
+    5.7. Is there some kind of address-book, so I needn't remember
+        all those email addresses?
+    5.8. Sometimes I see little images at the top of article
+        buffer. What's that and how can I send one with my
+        postings, too?
+    5.9. Sometimes I accidentally hit r instead of f in newsgroups.
+        Can Gnus warn me, when I'm replying by mail in newsgroups?
+    5.10. How to tell Gnus not to generate a sender header?
+    5.11. I want gnus to locally store copies of my send mail and
+        news, how to do it?
+    5.12. People tell me my Message-IDs are not correct, why aren't
+        they and how to fix it?
+   
+6. Old messages
+   
+    6.1. How to import my old mail into Gnus?
+    6.2. How to archive interesting messages?
+    6.3. How to search for a specific message?
+    6.4. How to get rid of old unwanted mail?
+    6.5. I want that all read messages are expired (at least in
+        some groups). How to do it?
+    6.6. I don't want expiration to delete my mails but to move
+        them to another group.
+   
+7. Getting help
+   
+    7.1. How to find information and help inside Emacs?
+    7.2. I can't find anything in the Gnus manual about X (e.g.
+        attachments, PGP, MIME...), is it not documented?
+    7.3. Which websites should I know?
+    7.4. Which mailing lists and newsgroups are there?
+    7.5. Where to report bugs?
+    7.6. I need real-time help, where to find it?
+   
+8. Tuning Gnus
+   
+    8.1. Starting Gnus is really slow, how to speed it up?
+    8.2. How to speed up the process of entering a group?
+    8.3. Sending mail becomes slower and slower, what's up?
+   
+1. Installation FAQ                                                                               
+                                                                                                  
+1.1.  What is the latest version of Gnus?                                                         
+                                                                                                  
+      As of this posting, the latest Gnus version is 5.8.8(which is                               
+      basically the same as Gnus 5.9 which is shipped with GNU Emacs).                            
+      This version is very stable and should be the choice for all                                
+      beginners. However 5.8.8 is quite old, so many people today use the                         
+      BETA version from CVS called Oort Gnus, which contains a huge                               
+      amount of new features. If you want to do this too, be aware that                           
+      it's beta and might have bugs and at worst case might eat your                              
+      mail.                                                                                       
+                                                                                                  
+1.2.  Where and how to get Gnus?                                                                  
+                                                                                                  
+      The latest released version of Gnus is included in Emacs 21 and                             
+      available through the package system of XEmacs 21.4, so the easiest                         
+      way is getting one of those. If you don't want or can't do this,                            
+      get the Gnus tarball from http://www.gnus.org/dist/gnus.tar.gz                              
+      [http://www.gnus.org/dist/gnus.tar.gz] or via anonymous FTP from                            
+      ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz [ftp://ftp.gnus.org/pub/                            
+      gnus/gnus.tar.gz].                                                                          
+                                                                                                  
+1.3.  What to do with the tarball now?                                                            
+                                                                                                  
+      Untar it via tar xvzf gnus.tar.gz and do the common ./configure;                            
+      make; make install circle. (under MS-Windows either get the Cygwin                          
+      environment from http://www.cygwin.com [http://www.cygwin.com]                              
+      which allows you to do what's described above or unpack the tarball                         
+      with some packer (e.g. Winace from http://www.winace.com [http://                           
+      www.winace.com]) and use the batch-file make.bat included in the                            
+      tarball to install Gnus. If you don't want to (or aren't allowed                            
+      to) install Gnus system-wide, you can install it in your home                               
+      directory and add the following lines to your ~/.xemacs/init.el or                          
+      ~/.emacs:                                                                                   
+                                                                                                  
+      (add-to-list 'load-path "/path/to/gnus/lisp")                                               
+      (if (featurep 'xemacs)                                                                      
+          (add-to-list 'Info-directory-list "/path/to/gnus/texi/")                                
+        (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/"))                         
+                                                                                                  
+                                                                                                  
+      Make sure that you don't have any gnus related stuff before this                            
+      line, on MS Windows use something like "C:/path/to/lisp" (yes, "/                           
+      ").                                                                                         
+                                                                                                  
+1.4.  Which version of Emacs do I need?                                                           
+                                                                                                  
+      Gnus 5.8.8 requires an emacs version that is greater than or equal                          
+      to Emacs 20.3 or XEmacs 20.1.                                                               
+                                                                                                  
+1.5.  How do I run Gnus on both Emacs and XEmacs?                                                 
+                                                                                                  
+      You can't use the same copy of Gnus in both as the Lisp files are                           
+      byte-compiled to a format which is different depending on which                             
+      Emacs did the compilation. Get one copy of Gnus for Emacs and one                           
+      for XEmacs.                                                                                 
+                                                                                                  
+2. Startup / Group buffer                                                                         
+                                                                                                  
+2.1.  Every time I start Gnus I get a message "Gnus auto-save file                                
+      exists. Do you want to read it?", what does this mean and how to                            
+      prevent it?                                                                                 
+                                                                                                  
+      This message means that the last time you used Gnus, it wasn't                              
+      properly exited and therefor couldn't write its informations to                             
+      disk (e.g. which messages you read), you are now asked if you want                          
+      to restore those informations from the auto-save file.                                      
+                                                                                                  
+      To prevent this message make sure you exit Gnus via q in group                              
+      buffer instead of just killing Emacs.                                                       
+                                                                                                  
+2.2.  Gnus doesn't remember which groups I'm subscribed to, what's this?                          
+                                                                                                  
+      You get the message described in the q/a pair above while starting                          
+      Gnus, right? It's an other symptom for the same problem, so read                            
+      the answer above.                                                                           
+                                                                                                  
+2.3.  How to change the format of the lines in Group buffer?                                      
+                                                                                                  
+      You've got to tweak the value of the variable                                               
+      gnus-group-line-format. See the manual node "Group Line                                     
+      Specification" for information on how to do this. An example for                            
+      this (guess from whose .gnus :-)):                                                          
+                                                                                                  
+      (setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n")                                   
+                                                                                                  
+                                                                                                  
+2.4.  My group buffer becomes a bit crowded, is there a way to sort my                            
+      groups into categories so I can easier browse through them?                                 
+                                                                                                  
+      Gnus offers the topic mode, it allows you to sort your groups in,                           
+      well, topics, e.g. all groups dealing with Linux under the topic                            
+      linux, all dealing with music under the topic music and all dealing                         
+      with scottish music under the topic scottish which is a subtopic of                         
+      music.                                                                                      
+                                                                                                  
+      To enter topic mode, just hit t while in Group buffer. Now you can                          
+      use T n to create a topic at point and T m to move a group to a                             
+      specific topic. For more commands see the manual or the menu. You                           
+      might want to include the %P specifier at the beginning of your                             
+      gnus-group-line-format variable to have the groups nicely indented.                         
+                                                                                                  
+2.5.  How to manually sort the groups in Group buffer? How to sort the                            
+      groups in a topic?                                                                          
+                                                                                                  
+      Move point over the group you want to move and hit C-k, now move                            
+      point to the place where you want the group to be and hit C-y.                              
+                                                                                                  
+3. Getting Messages                                                                               
+                                                                                                  
+3.1.  I just installed Gnus, started it via M-x gnus but it only says                             
+      "nntp (news) open error", what to do?                                                       
+                                                                                                  
+      You've got to tell Gnus where to fetch the news from. Read the                              
+      documentation for information on how to do this. As a first start,                          
+      put those lines in ~/.gnus:                                                                 
+                                                                                                  
+      (setq gnus-select-method '(nntp "news.yourprovider.net"))                                   
+      (setq user-mail-address "you@yourprovider.net")                                             
+      (setq user-full-name "Your Name")                                                           
+                                                                                                  
+                                                                                                  
+3.2.  I'm working under Windows and have no idea what ~/.gnus means.                              
+                                                                                                  
+      The ~/ means the home directory where Gnus and Emacs look for the                           
+      configuration files. However, you don't really need to know what                            
+      this means, it suffices that Emacs knows what it means :-) You can                          
+      type C-x C-f ~/.gnus RET (yes, with the forward slash, even on                              
+      Windows), and Emacs will open the right file for you. (It will most                         
+      likely be new, and thus empty.) However, I'd discourage you from                            
+      doing so, since the directory Emacs chooses will most certainly not                         
+      be what you want, so let's do it the correct way. The first thing                           
+      you've got to do is to create a suitable directory (no blanks in                            
+      directory name please) e.g. c:\myhome. Then you must set the                                
+      environment variable HOME to this directory. To do this under Win9x                         
+      or Me include the line                                                                      
+                                                                                                  
+      SET HOME=C:\myhome                                                                          
+                                                                                                  
+                                                                                                  
+      in your autoexec.bat and reboot. Under NT, 2000 and XP, hit                                 
+      Winkey+Pause/Break to enter system options (if it doesn't work, go                          
+      to Control Panel -> System). There you'll find the possibility to                           
+      set environment variables, create a new one with name HOME and                              
+      value C:\myhome, a reboot is not necessary.                                                 
+                                                                                                  
+      Now to create ~/.gnus, say C-x C-f ~/.gnus RET C-x C-s. in Emacs.                           
+                                                                                                  
+3.3.  My news server requires authentication, how to store user name and                          
+      password on disk?                                                                           
+                                                                                                  
+      Create a file ~/.authinfo which includes for each server a line                             
+      like this                                                                                   
+                                                                                                  
+      machine news.yourprovider.net login YourUserName password YourPassword                      
+                                                                                                  
+      . Make sure that the file isn't readable to others if you work on a                         
+      OS which is capable of doing so. (Under Unix say                                            
+                                                                                                  
+      chmod 600 ~/.authinfo                                                                       
+                                                                                                  
+      in a shell.)                                                                                
+                                                                                                  
+3.4.  Gnus seems to start up OK, but I can't find out how to subscribe to                         
+      a group.                                                                                    
+                                                                                                  
+      If you know the name of the group say U name.of.group RET in group                          
+      buffer (use the tab-completion Luke). Otherwise hit ^ in group                              
+      buffer, this brings you to the server buffer. Now place point (the                          
+      cursor) over the server which carries the group you want, hit RET,                          
+      move point to the group you want to subscribe to and say u to                               
+      subscribe to it.                                                                            
+                                                                                                  
+3.5.  Gnus doesn't show all groups / Gnus says I'm not allowed to post on                         
+      this server as well as I am, what's that?                                                   
+                                                                                                  
+      Some providers allow restricted anonymous access and full access                            
+      only after authorization. To make Gnus send authinfo to those                               
+      servers append                                                                              
+                                                                                                  
+      force yes                                                                                   
+                                                                                                  
+      to the line for those servers in ~/.authinfo.                                               
+                                                                                                  
+3.6.  I want Gnus to fetch news from several servers, is this possible?                           
+                                                                                                  
+      Of course. You can specify more sources for articles in the                                 
+      variable gnus-secondary-select-methods. Add something like this in                          
+      ~/.gnus:                                                                                    
+                                                                                                  
+      (add-to-list 'gnus-secondary-select-methods '(nntp "news.yourSecondProvider.net"))          
+      (add-to-list 'gnus-secondary-select-methods '(nntp "news.yourThirdProvider.net"))           
+                                                                                                  
+                                                                                                  
+3.7.  And how about local spool files?                                                            
+                                                                                                  
+      No problem, this is just one more select method called nnspool, so                          
+      you want this:                                                                              
+                                                                                                  
+      (add-to-list 'gnus-secondary-select-methods '(nnspool ""))                                  
+                                                                                                  
+                                                                                                  
+      Or this if you don't want an NNTP Server as primary news source:                            
+                                                                                                  
+      (setq gnus-select-method '(nnspool ""))                                                     
+                                                                                                  
+                                                                                                  
+      Gnus will look for the spool file in /usr/spool/news, if you want                           
+      something different, change the line above to something like this:                          
+                                                                                                  
+      (add-to-list 'gnus-secondary-select-methods                                                 
+                   '(nnspool "" (nnspool-directory "/usr/local/myspoolddir")))                    
+                                                                                                  
+                                                                                                  
+      This sets the spool directory for this server only. You might have                          
+      to specify more stuff like the program used to post articles, see                           
+      the Gnus manual on how to do this.                                                          
+                                                                                                  
+3.8.  OK, reading news works now, but I want to be able to read my mail                           
+      with Gnus, too. How to do it?                                                               
+                                                                                                  
+      That's a bit harder since there are many possible sources for mail,                         
+      many possible ways for storing mail and many different ways for                             
+      sending mail. The most common cases are these: 1: You want to read                          
+      your mail from a pop3 server and send them directly to a SMTP                               
+      Server 2: Some program like fetchmail retrieves your mail and                               
+      stores it on disk from where Gnus shall read it. Outgoing mail is                           
+      sent by Sendmail, Postfix or some other MTA. Sometimes, you even                            
+      need a combination of the above cases.                                                      
+                                                                                                  
+      However, the first thing to do is to tell Gnus in which way it                              
+      should store the mail, in Gnus terminology which back end to use.                           
+      Gnus supports many different back ends, the most commonly used one                          
+      is nnml. It stores every mail in one file and is therefor quite                             
+      fast. However you might prefer a one file per group approach if                             
+      your file system has problems with many small files, the nnfolder                           
+      back end is then probably the choice for you. To use nnml add the                           
+      following to ~/.gnus:                                                                       
+                                                                                                  
+      (add-to-list 'gnus-secondary-select-methods '(nnml ""))                                     
+                                                                                                  
+                                                                                                  
+      As you might have guessed, if you want nnfolder, it's                                       
+                                                                                                  
+      (add-to-list 'gnus-secondary-select-methods '(nnfolder ""))                                 
+                                                                                                  
+                                                                                                  
+      Now we need to tell Gnus, where to get it's mail from. If it's a                            
+      POP3 server, then you need something like this:                                             
+                                                                                                  
+      (eval-after-load "mail-source"                                                              
+        '(add-to-list 'mail-sources '(pop :server "pop.YourProvider.net"                          
+                                          :user "yourUserName"                                    
+                                          :password "yourPassword"))                              
+                                                                                                  
+                                                                                                  
+      Make sure ~/.gnus isn't readable to others if you store your                                
+      password there. If you want to read your mail from a traditional                            
+      spool file on your local machine, it's                                                      
+                                                                                                  
+      (eval-after-load "mail-source"                                                              
+        '(add-to-list 'mail-sources '(file :path "/path/to/spool/file"))                          
+                                                                                                  
+                                                                                                  
+      If it's a Maildir, with one file per message as used by postfix,                            
+      Qmail and (optionally) fetchmail it's                                                       
+                                                                                                  
+      (eval-after-load "mail-source"                                                              
+        '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/"                           
+                                              :subdirs ("cur" "new")))                            
+                                                                                                  
+                                                                                                  
+      And finally if you want to read your mail from several files in one                         
+      directory, for example because procmail already split your mail,                            
+      it's                                                                                        
+                                                                                                  
+      (eval-after-load "mail-source"                                                              
+        '(add-to-list 'mail-sources '(directory :path "/path/to/procmail-dir/"                    
+                                                :suffix ".prcml"))                                
+                                                                                                  
+                                                                                                  
+      Where :suffix ".prcml" tells Gnus only to use files with the suffix                         
+      .prcml.                                                                                     
+                                                                                                  
+      OK, now you only need to tell Gnus how to send mail. If you want to                         
+      send mail via sendmail (or whichever MTA is playing the role of                             
+      sendmail on your system), you don't need to do anything. However,                           
+      if you want to send your mail to an SMTP Server you need the                                
+      following in your ~/.gnus                                                                   
+                                                                                                  
+      (setq send-mail-function 'smtpmail-send-it)                                                 
+      (setq message-send-mail-function 'smtpmail-send-it)                                         
+      (setq smtpmail-default-smtp-server "smtp.yourProvider.net")                                 
+                                                                                                  
+                                                                                                  
+3.9.  And what about IMAP?                                                                        
+                                                                                                  
+      There are two ways of using IMAP with Gnus. The first one is to use                         
+      IMAP like POP3, that means Gnus fetches the mail from the IMAP                              
+      server and stores it on disk. If you want to do this (you don't                             
+      really want to do this) add the following to ~/.gnus                                        
+                                                                                                  
+      (add-to-list 'mail-sources '(imap :server "mail.mycorp.com"                                 
+                                        :user "username"                                          
+                                        :pass "password"                                          
+                                        :stream network                                           
+                                        :authentication login                                     
+                                        :mailbox "INBOX"                                          
+                                        :fetchflag "\\Seen"))                                     
+                                                                                                  
+                                                                                                  
+      You might have to tweak the values for stream and/or                                        
+      authentification, see the Gnus manual node "Mail Source Specifiers"                         
+      for possible values.                                                                        
+                                                                                                  
+      If you want to use IMAP the way it's intended, you've got to follow                         
+      a different approach. You've got to add the nnimap back end to your                         
+      select method and give the information about the server there.                              
+                                                                                                  
+      (add-to-list 'gnus-secondary-select-methods                                                 
+                               '(nnimap "Give the baby a name"                                    
+                                        (nnimap-address "imap.yourProvider.net")                  
+                                        (nnimap-port 143)                                         
+                                        (nnimap-list-pattern "archive.*")))                       
+                                                                                                  
+                                                                                                  
+      Again, you might have to specify how to authenticate to the server                          
+      if Gnus can't guess the correct way, see the Manual Node "IMAP" for                         
+      detailed information.                                                                       
+                                                                                                  
+3.10. At the office we use one of those MS Exchange servers, can I use                            
+      Gnus to read my mail from it?                                                               
+                                                                                                  
+      Offer your administrator a pair of new running shoes for activating                         
+      IMAP on the server and follow the instructions above.                                       
+                                                                                                  
+3.11. Can I tell Gnus not to delete the mails on the server it retrieves                          
+      via POP3?                                                                                   
+                                                                                                  
+      First of all, that's not the way POP3 is intended to work, if you                           
+      have the possibility, you should use the IMAP Protocol if you want                          
+      your messages to stay on the server. Nevertheless there might be                            
+      situations where you need the feature, but sadly Gnus itself has no                         
+      predefined functionality to do so.                                                          
+                                                                                                  
+      However this is Gnus county so there are possibilities to achieve                           
+      what you want. The easiest way is to get an external program which                          
+      retrieves copies of the mail and stores them on disk, so Gnus can                           
+      read it from there. On Unix systems you could use e.g. fetchmail                            
+      for this, on MS Windows you can use Hamster, an excellent local                             
+      news and mail server.                                                                       
+                                                                                                  
+      The other solution would be, to replace the method Gnus uses to get                         
+      mail from POP3 servers by one which is capable of leaving the mail                          
+      on the server. If you use XEmacs, get the package mail-lib, it                              
+      includes an enhanced pop3.el, look in the file, there's                                     
+      documentation on how to tell Gnus to use it and not to delete the                           
+      retrieved mail. For GNU Emacs look for the file epop3.el which can                          
+      do the same (If you know the home of this file, please send me an                           
+      e-mail). You can also tell Gnus to use an external program (e.g.                            
+      fetchmail) to fetch your mail, see the info node "Mail Source                               
+      Specifiers" in the Gnus manual on how to do it.                                             
+                                                                                                  
+4. Reading messages                                                                               
+                                                                                                  
+4.1.  When I enter a group, all read messages are gone. How to view them                          
+      again?                                                                                      
+                                                                                                  
+      If you enter the group by saying RET in summary buffer with point                           
+      over the group, only unread and ticked messages are loaded. Say C-u                         
+      RET instead to load all available messages. If you want only the                            
+      e.g. 300 newest say C-u 300 RET                                                             
+                                                                                                  
+      Loading only unread messages can be annoying if you have threaded                           
+      view enabled, say                                                                           
+                                                                                                  
+      (setq gnus-fetch-old-headers 'some)                                                         
+                                                                                                  
+                                                                                                  
+      in ~/.gnus to load enough old articles to prevent teared threads,                           
+      replace 'some with t to load all articles (Warning: Both settings                           
+      enlarge the amount of data which is fetched when you enter a group                          
+      and slow down the process of entering a group).                                             
+                                                                                                  
+      If you use Oort Gnus, you can say /o N In summary buffer to load                            
+      the last N messages, this feature is not available in 5.8.8                                 
+                                                                                                  
+      If you don't want all old messages, but the parent of the message                           
+      you're just reading, you can say ^, if you want to retrieve the                             
+      whole thread the message you're just reading belongs to, A T is                             
+      your friend.                                                                                
+                                                                                                  
+4.2.  How to tell Gnus to show an important message every time I enter a                          
+      group, even when it's read?                                                                 
+                                                                                                  
+      You can tick important messages. To do this hit u while point is in                         
+      summary buffer over the message. When you want to remove the mark,                          
+      hit either d (this deletes the tick mark and set's unread mark) or                          
+      M c (which deletes all marks for the message).                                              
+                                                                                                  
+4.3.  How to view the headers of a message?                                                       
+                                                                                                  
+      Say t to show all headers, one more t hides them again.                                     
+                                                                                                  
+4.4.  How to view the raw unformatted message?                                                    
+                                                                                                  
+      Say C-u g to show the raw message g returns to normal view.                                 
+                                                                                                  
+4.5.  How can I change the headers Gnus displays by default at the top of                         
+      the article buffer?                                                                         
+                                                                                                  
+      The variable gnus-visible-headers controls which headers are shown,                         
+      its value is a regular expression, header lines which match it are                          
+      shown. So if you want author, subject, date, and if the header                              
+      exists, Followup-To and MUA / NUA say this in ~/.gnus:                                      
+                                                                                                  
+      (setq gnus-visible-headers                                                                  
+      "^\\(From:\\|Subject:\\|Date:\\|Followup-To:\\|X-Newsreader:\\|User-Agent:\\|X-Mailer:\\)") 
+                                                                                                  
+                                                                                                  
+4.6.  I'd like Gnus NOT to render HTML-mails but show me the text part if                         
+      it's available. How to do it?                                                               
+                                                                                                  
+      Say                                                                                         
+                                                                                                  
+      (eval-after-load "mm-decode"                                                                
+       '(progn                                                                                    
+            (add-to-list 'mm-discouraged-alternatives "text/html")                                
+            (add-to-list 'mm-discouraged-alternatives "text/richtext")))                          
+                                                                                                  
+                                                                                                  
+      in ~/.gnus. If you don't want HTML rendered, even if there's no                             
+      text alternative add                                                                        
+                                                                                                  
+      (setq mm-automatic-display (remove "text/html" mm-automatic-display))                       
+                                                                                                  
+                                                                                                  
+      too.                                                                                        
+                                                                                                  
+4.7.  Can I use some other browser than w3 to render my HTML-mails?                               
+                                                                                                  
+      Only if you use Oort Gnus. In this case you've got the choice                               
+      between w3, w3m, links, lynx and html2text, which one is used can                           
+      be specified in the variable mm-text-html-renderer, so if you want                          
+      links to render your mail say                                                               
+                                                                                                  
+      (setq mm-text-html-renderer 'links)                                                         
+                                                                                                  
+                                                                                                  
+4.8.  Is there anything I can do to make poorly formatted mails more                              
+      readable?                                                                                   
+                                                                                                  
+      Gnus offers you several functions to "wash" incoming mail, you can                          
+      find them if you browse through the menu, item Article->Washing.                            
+      The most interesting ones are probably "Wrap long lines" ( W w ),                           
+      "Decode ROT13" ( W r ) and "Outlook Deuglify" which repairs the                             
+      dumb quoting used by many users of Microsoft products ( W k ) sadly                         
+      the last one is only available in Oort Gnus.                                                
+                                                                                                  
+4.9.  Is there a way to automatically ignore posts by specific authors or                         
+      with specific words in the subject? And can I highlight more                                
+      interesting ones in some way?                                                               
+                                                                                                  
+      You want Scoring. Scoring means, that you define rules which assign                         
+      each message an integer value. Depending on the value the message                           
+      is highlighted in summary buffer (if it's high, say +2000) or                               
+      automatically marked read (if the value is low, say -800) or some                           
+      other action happens.                                                                       
+                                                                                                  
+      There are basically three ways of setting up rules which assign the                         
+      scoring-value to messages. The first and easiest way is to set up                           
+      rules based on the article you are just reading. Say you're reading                         
+      a message by a guy who always writes nonsense and you want to                               
+      ignore his messages in the future. Hit L, to set up a rule which                            
+      lowers the score. Now Gnus asks you which the criteria for lowering                         
+      the Score shall be. Hit ? twice to see all possibilities, we want a                         
+      which means the author (the from header). Now Gnus wants to know                            
+      which kind of matching we want. Hit either e for an exact match or                          
+      s for substring-match and delete afterwards everything but the name                         
+      to score down all authors with the given name no matter which email                         
+      address is used. Now you need to tell Gnus when to apply the rule                           
+      and how long it should last, hit e.g. p to apply the rule now and                           
+      let it last forever. If you want to raise the score instead of                              
+      lowering it say I instead of L.                                                             
+                                                                                                  
+      You can also set up rules by hand. To do this say V f in summary                            
+      buffer. Then you are asked for the name of the score file, it's                             
+      name.of.group.SCORE for rules valid in only one group or all.Score                          
+      for rules valid in all groups. See the Gnus manual for the exact                            
+      syntax, basically it's one big list whose elements are lists again.                         
+      the first element of those lists is the header to score on, then                            
+      one more list with what to match, which score to assign, when to                            
+      expire the rule and how to do the matching. If you find me very                             
+      interesting, you could e.g. add the following to your all.Score:                            
+                                                                                                  
+      (("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s))                                
+       ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s)))                               
+                                                                                                  
+                                                                                                  
+      This would add 999 to the score of messages written by me and 500                           
+      to the score of messages which are a (possibly indirect) answer to                          
+      a message written by me. Of course nobody with a sane mind would do                         
+      this :-)                                                                                    
+                                                                                                  
+      The third alternative is adaptive scoring. This means Gnus watches                          
+      you and tries to find out what you find interesting and what                                
+      annoying and sets up rules which reflect this. Adaptive scoring can                         
+      be a huge help when reading high traffic groups. If you want to                             
+      activate adaptive scoring say                                                               
+                                                                                                  
+      (setq gnus-use-adaptive-scoring t)                                                          
+                                                                                                  
+                                                                                                  
+      in ~/.gnus.                                                                                 
+                                                                                                  
+4.10. How can I disable threading in some (e.g. mail-) groups, or set                             
+      other variables specific for some groups?                                                   
+                                                                                                  
+      While in group buffer move point over the group and hit G c, this                           
+      opens a buffer where you can set options for the group. At the                              
+      bottom of the buffer you'll find an item that allows you to set                             
+      variables locally for the group. To disable threading enter                                 
+      gnus-show-threads as name of variable and nil as value. Hit button                          
+      done at the top of the buffer when you're ready.                                            
+                                                                                                  
+4.11. Can I highlight messages written by me and follow-ups to those?                             
+                                                                                                  
+      Stop those "Can I ..." questions, the answer is always yes in Gnus                          
+      Country :-). It's a three step process: First we make faces                                 
+      (specifications of how summary-line shall look like) for those                              
+      postings, then we'll give them some special score and finally we'll                         
+      tell Gnus to use the new faces. You can find detailed instructions                          
+      on how to do it on my.gnus.org [http://my.gnus.org/Members/dzimmerm                         
+      /HowTo%2C2002-07-25%2C1027619165012198456/view]                                             
+                                                                                                  
+4.12. The number of total messages in a group which Gnus displays in                              
+      group buffer is by far to high, especially in mail groups. Is this                          
+      a bug?                                                                                      
+                                                                                                  
+      No, that's a matter of design of Gnus, fixing this would mean                               
+      reimplementation of major parts of Gnus' back ends. Gnus thinks                             
+      "highest-article-number - lowest-article-number =                                           
+      total-number-of-articles". This works OK for Usenet groups, but if                          
+      you delete and move many messages in mail groups, this fails. To                            
+      cure the symptom, enter the group via C-u RET (this makes Gnus get                          
+      all messages), then hit M P b to mark all messages and then say B m                         
+      name.of.group to move all messages to the group they have been in                           
+      before, they get new message numbers in this process and the count                          
+      is right again (until you delete and move your mail to other groups                         
+      again).                                                                                     
+                                                                                                  
+4.13. I don't like the layout of summary and article buffer, how to                               
+      change it? Perhaps even a three pane display?                                               
+                                                                                                  
+      You can control the windows configuration by calling the function                           
+      gnus-add-configuration. The syntax is a bit complicated but                                 
+      explained very well in the manual node "Window Layout". Some                                
+      popular examples:                                                                           
+                                                                                                  
+      Instead 25% summary 75% article buffer 35% summary and 65% article                          
+      (the 1.0 for article means "take the remaining space"):                                     
+                                                                                                  
+      (gnus-add-configuration '(article (vertical 1.0 (summary .35 point) (article 1.0))))        
+                                                                                                  
+                                                                                                  
+      A three pane layout, Group buffer on the left, summary buffer                               
+      top-right, article buffer bottom-right:                                                     
+                                                                                                  
+      (gnus-add-configuration                                                                     
+       '(article                                                                                  
+         (horizontal 1.0                                                                          
+                     (vertical 25                                                                 
+                               (group 1.0))                                                       
+                     (vertical 1.0                                                                
+                               (summary 0.25 point)                                               
+                               (article 1.0)))))                                                  
+      (gnus-add-configuration                                                                     
+       '(summary                                                                                  
+         (horizontal 1.0                                                                          
+                     (vertical 25                                                                 
+                               (group 1.0))                                                       
+                     (vertical 1.0                                                                
+                               (summary 1.0 point)))))                                            
+                                                                                                  
+                                                                                                  
+4.14. I don't like the way the Summary buffer looks, how to tweak it?                             
+                                                                                                  
+      You've got to play around with the variable                                                 
+      gnus-summary-line-format. It's value is a string of symbols which                           
+      stand for things like author, date, subject etc. A list of the                              
+      available specifiers can be found in the manual node "Summary                               
+      Buffer Lines" and the often forgotten node "Formatting Variables"                           
+      and it's sub-nodes. There you'll find useful things like                                    
+      positioning the cursor and tabulators which allow you a summary in                          
+      table form, but sadly hard tabulators are broken in 5.8.8.                                  
+                                                                                                  
+      Oort Gnus offers you some very nice new specifiers, e.g. %B which                           
+      draws a thread-tree and %&user-date which gives you a date where                            
+      the details are dependent of the articles age. Here's an example                            
+      which uses both, DON'T TRY TO USE IT WITH 5.8.8!                                            
+                                                                                                  
+      (setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")          
+                                                                                                  
+                                                                                                  
+      resulting in:                                                                               
+                                                                                                  
+      :O     Re: [Richard Stallman] rfc2047.el          |  13 |Lars Magne Ingebrigt |Sat 23:06    
+      :O     Re: Revival of the ding-patches list       |  13 |Lars Magne Ingebrigt |Sat 23:12    
+      :R  >  Re: Find correct list of articles for a gro|  25 |Lars Magne Ingebrigt |Sat 23:16    
+      :O  \->  ...                                      |  21 |Kai Grossjohann      | 0:01        
+      :R  >  Re: Cry for help: deuglify.el - moving stuf|  28 |Lars Magne Ingebrigt |Sat 23:34    
+      :O  \->  ...                                      | 115 |Raymond Scholz       | 1:24        
+      :O    \->  ...                                    |  19 |Lars Magne Ingebrigt |15:33        
+      :O     Slow mailing list                          |  13 |Lars Magne Ingebrigt |Sat 23:49    
+      :O     Re: `@' mark not documented                |  13 |Lars Magne Ingebrigt |Sat 23:50    
+      :R  >  Re: Gnus still doesn't count messages prope|  23 |Lars Magne Ingebrigt |Sat 23:57    
+      :O  \->  ...                                      |  18 |Kai Grossjohann      | 0:35        
+      :O    \->  ...                                    |  13 |Lars Magne Ingebrigt | 0:56        
+                                                                                                  
+                                                                                                  
+4.15. How to split incoming mails in several groups?                                              
+                                                                                                  
+      Gnus offers two possibilities for splitting mail, the easy                                  
+      nnmail-split-methods and the more powerful Fancy Mail Splitting.                            
+      I'll only talk about the first one, refer to the manual, node                               
+      "Fancy Mail Splitting" for the latter.                                                      
+                                                                                                  
+      The value of nnmail-split-methods is a list, each element is a list                         
+      which stands for a splitting rule. Each rule has the form "group                            
+      where matching articles should go to", "regular expression which                            
+      has to be matched", the first rule which matches wins. The last                             
+      rule must always be a general rule (regular expression .*) which                            
+      denotes where articles should go which don't match any other rule.                          
+      If the folder doesn't exist yet, it will be created as soon as an                           
+      article lands there. By default the mail will be send to all groups                         
+      whose rules match. If you don't want that (you probably don't                               
+      want), say                                                                                  
+                                                                                                  
+      (setq nnmail-crosspost nil)                                                                 
+                                                                                                  
+                                                                                                  
+      in ~/.gnus.                                                                                 
+                                                                                                  
+      An example might be better than thousand words, so here's my                                
+      nnmail-split-methods. Note that I send duplicates in a special                              
+      group and that the default group is spam, since I filter all mails                          
+      out which are from some list I'm subscribed to or which are                                 
+      addressed directly to me before. Those rules kill about 80% of the                          
+      Spam which reaches me (Email addresses are changed to prevent                               
+      spammers from using them):                                                                  
+                                                                                                  
+      (setq nnmail-split-methods                                                                  
+        '(("duplicates" "^Gnus-Warning:.*duplicate")                                              
+          ("XEmacs-NT" "^\\(To:\\|CC:\\).*localpart@xemacs.bla.*")                                
+          ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@socha.bla.*")                                  
+          ("tcsh" "^\\(To:\\|CC:\\).*localpart@mx.gw.bla.*")                                      
+          ("BAfH" "^\\(To:\\|CC:\\).*localpart@.*uni-muenchen.bla.*")                             
+          ("Hamster-src" "^\\(CC:\\|To:\\).*hamster-sourcen@yahoogroups.\\(de\\|com\\).*")        
+          ("Tagesschau" "^From: tagesschau <localpart@www.tagesschau.bla>$")                      
+          ("Replies" "^\\(CC:\\|To:\\).*localpart@Frank-Schmitt.bla.*")                           
+          ("EK" "^From:.*\\(localpart@privateprovider.bla\\|localpart@workplace.bla\\).*")        
+          ("Spam" "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*")         
+          ("Spam" "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*")       
+          ("Spam" "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*")          
+          ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)")                           
+          ("Spam" "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)")        
+          ("Spam" "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*")      
+          ("Spam" "^Delivered-To: GMX delivery to spamtrap@gmx.bla$")                             
+          ("Spam" "^Received: from link2buy.com")                                                 
+          ("Spam" "^CC: .*azzrael@t-online.bla")                                                  
+          ("Spam" "^X-Mailer-Version: 1.50 BETA")                                                 
+          ("Uni" "^\\(CC:\\|To:\\).*localpart@uni-koblenz.bla.*")                                 
+          ("Inbox" "^\\(CC:\\|To:\\).*\\(my\ name\\|address@one.bla\\|adress@two.bla\\)")         
+          ("Spam" "")))                                                                           
+                                                                                                  
+                                                                                                  
+5. Composing messages                                                                             
+                                                                                                  
+5.1.  What are the basic commands I need to know for sending mail and                             
+      postings?                                                                                   
+                                                                                                  
+      To start composing a new mail hit m either in Group or Summary                              
+      buffer, for a posting, it's either a in Group buffer and filling                            
+      the Newsgroups header manually or a in the Summary buffer of the                            
+      group where the posting shall be send to. Replying by mail is r if                          
+      you don't want to cite the author, or import the cited text                                 
+      manually and R to cite the text of the original message. For a                              
+      follow up to a newsgroup, it's f and F (analog to r and R.                                  
+                                                                                                  
+      Enter new headers above the line saying "--text follows this                                
+      line--", enter the text below the line. When ready hit C-c C-c, to                          
+      send the message, if you want to finish it later hit C-c C-d to                             
+      save it in the drafts group, where you can start editing it again                           
+      by saying D e.                                                                              
+                                                                                                  
+5.2.  How to enable automatic word-wrap when composing messages?                                  
+                                                                                                  
+      Say                                                                                         
+                                                                                                  
+      (add-hook 'message-mode-hook                                                                
+            (lambda ()                                                                            
+                 (setq fill-column 72)                                                            
+                 (turn-on-auto-fill)))                                                            
+                                                                                                  
+                                                                                                  
+      in ~/.gnus. You can reformat a paragraph by hitting M-q (as usual)                          
+                                                                                                  
+5.3.  How to set stuff like From, Organization, Reply-To, signature...?                           
+                                                                                                  
+      There are other ways, but you should use posting styles for this.                           
+      (See below why). This example should make the syntax clear:                                 
+                                                                                                  
+      (setq gnus-posting-styles                                                                   
+        '((".*"                                                                                   
+           (name "Frank Schmitt")                                                                 
+           (address "me@there.bla")                                                               
+           (organization "Hamme net, kren mer och nimmi")                                         
+           (signature-file "~/.signature")                                                        
+           ("X-SampleHeader" "foobar")                                                            
+           (eval (setq some-variable "Foo bar")))))                                               
+                                                                                                  
+                                                                                                  
+      The ".*" means that this settings are the default ones (see below),                         
+      valid values for the first element of the following lists are                               
+      signature, signature-file, organization, address, name or body. The                         
+      attribute name can also be a string. In that case, this will be                             
+      used as a header name, and the value will be inserted in the                                
+      headers of the article; if the value is `nil', the header name will                         
+      be removed. You can also say (eval (foo bar)), then the function                            
+      foo will be evaluated with argument bar and the result will be                              
+      thrown away.                                                                                
+                                                                                                  
+5.4.  Can I set things like From, Signature etc group based on the group                          
+      I post too?                                                                                 
+                                                                                                  
+      That's the strength of posting styles. Before, we used ".*" to set                          
+      the default for all groups. You can use a regexp like "^gmane" and                          
+      the following settings are only applied to postings you send to the                         
+      gmane hierarchy, use ".*binaries" instead and they will be applied                          
+      to postings send to groups containing the string binaries in their                          
+      name etc.                                                                                   
+                                                                                                  
+      You can instead of specifying a regexp specify a function which is                          
+      evaluated, only if it returns true, the corresponding settings take                         
+      effect. Two interesting candidates for this are message-news-p                              
+      which returns t if the current Group is a newsgroup and the                                 
+      corresponding message-mail-p.                                                               
+                                                                                                  
+      Note that all forms that match are applied, that means in the                               
+      example below, when I post to gmane.mail.spam.spamassassin.general,                         
+      the settings under ".*" are applied and the settings under                                  
+      message-news-p and those under "^gmane" and those under "^gmane\                            
+      \.mail\\.spam\\.spamassassin\\.general$". Because of this put                               
+      general settings at the top and specific ones at the bottom.                                
+                                                                                                  
+      (setq gnus-posting-styles                                                                   
+        '((".*"  ;;default                                                                        
+           (name "Frank Schmitt")                                                                 
+           (organization "Hamme net, kren mer och nimmi")                                         
+           (signature-file "~/.signature")    )                                                   
+          ((message-news-p)  ;;Usenet news?                                                       
+           (address "mySpamTrap@Frank-Schmitt.bla")                                               
+           ("Reply-To" "hereRealRepliesOnlyPlease@Frank-Schmitt.bla")    )                        
+          ((message-mail-p)  ;;mail?                                                              
+           (address "usedForMails@Frank-Schmitt.bla")    )                                        
+          ("^gmane" ;;this is mail, too in fact                                                   
+           (address "usedForMails@Frank-Schmitt.net")                                             
+           ("Reply-To" nil)    )                                                                  
+          ("^gmane.mail.spam.spamassassin.general$"                                               
+           (eval (setq mail-envelope-from "Azzrael@rz-online.de"))                                
+           (address "Azzrael@rz-online.de")) ))                                                   
+                                                                                                  
+                                                                                                  
+5.5.  Is there a spell-checker? Perhaps even on-the-fly spell-checking?                           
+                                                                                                  
+      You can use ispell.el to spell-check stuff in Emacs. So the first                           
+      thing to do is to make sure that you've got either ispell [http://                          
+      fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html] or aspell [http:                         
+      //aspell.sourceforge.net/] installed and in your Path. Then you                             
+      need ispell.el [http://www.kdstevens.com/~stevens/ispell-page.html]                         
+      and for on-the-fly spell-checking flyspell.el [http://                                      
+      www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/                                  
+      flyspell.html]. Ispell.el is shipped with Gnus Emacs and available                          
+      through the Emacs package system, flyspell.el is shipped with Emacs                         
+      and part of XEmacs text-modes package which is available through                            
+      the package system, so there should be no need to install them                              
+      manually.                                                                                   
+                                                                                                  
+      Ispell.el assumes you use ispell, if you choose aspell say                                  
+                                                                                                  
+      (setq ispell-program-name "aspell")                                                         
+                                                                                                  
+      in your Emacs configuration file.                                                           
+                                                                                                  
+      If you want your outgoing messages to be spell-checked, say                                 
+                                                                                                  
+      (add-hook 'message-send-hook 'ispell-message)                                               
+                                                                                                  
+      In your ~/.gnus, if you prefer on-the-fly spell-checking say                                
+                                                                                                  
+      (add-hook 'message-mode-hook (lambda () (flyspell-mode 1)))                                 
+                                                                                                  
+5.6.  Can I set the dictionary based on the group I'm posting to?                                 
+                                                                                                  
+      Yes, say something like                                                                     
+                                                                                                  
+      (add-hook 'gnus-select-group-hook                                                           
+                (lambda ()                                                                        
+                  (cond                                                                           
+                   ((string-match                                                                 
+                     "^de\\." (gnus-group-real-name gnus-newsgroup-name))                         
+                    (ispell-change-dictionary "deutsch8"))                                        
+                   (t                                                                             
+                    (ispell-change-dictionary "english")))))                                      
+                                                                                                  
+                                                                                                  
+      in ~/.gnus. Change "^de\\." and "deutsch8" to something that suits                          
+      your needs.                                                                                 
+                                                                                                  
+5.7.  Is there some kind of address-book, so I needn't remember all those                         
+      email addresses?                                                                            
+                                                                                                  
+      There's an very basic solution for this, mail aliases. You can                              
+      store your mail addresses in a ~/.mailrc file using a simple alias                          
+      syntax:                                                                                     
+                                                                                                  
+      alias al        "Al <al@english-heritage.bla>"                                              
+                                                                                                  
+                                                                                                  
+      Then typing your alias (followed by a space or punctuation                                  
+      character) on a To: or Cc: line in the message buffer will cause                            
+      gnus to insert the full address for you. See the node "Mail                                 
+      Aliases" in Message (not Gnus) manual for details.                                          
+                                                                                                  
+      However, what you really want is the Insidious Big Brother Database                         
+      bbdb. Get it through the XEmacs package system or from bbdb's                               
+      homepage [http://bbdb.sourceforge.net/]. Now place the following in                         
+      ~/.gnus, to activate bbdb for Gnus:                                                         
+                                                                                                  
+      (require 'bbdb)                                                                             
+      (bbdb-initialize 'gnus 'message)                                                            
+                                                                                                  
+                                                                                                  
+      Now you probably want some general bbdb configuration, place them                           
+      in ~/.emacs:                                                                                
+                                                                                                  
+      (require 'bbdb)                                                                             
+      ;;If you don't live in Northern America, you should disable the                             
+      ;;syntax check for telephone numbers by saying                                              
+      (setq bbdb-north-american-phone-numbers-p nil)                                              
+      ;;Tell bbdb about your email address:                                                       
+      (setq bbdb-user-mail-names                                                                  
+            (regexp-opt '("Your.Email@here.bla"                                                   
+                          "Your.other@mail.there.bla")))                                          
+      ;;cycling while completing email addresses                                                  
+      (setq bbdb-complete-name-allow-cycling t)                                                   
+      ;;No popup-buffers                                                                          
+      (setq bbdb-use-pop-up nil)                                                                  
+                                                                                                  
+                                                                                                  
+      Now you should be ready to go. Say M-x bbdb RET RET to open a bbdb                          
+      buffer showing all entries. Say c to create a new entry, b to                               
+      search your BBDB and C-o to add a new field to an entry. If you                             
+      want to add a sender to the BBDB you can also just hit `:' on the                           
+      posting in the summary buffer and you are done. When you now                                
+      compose a new mail, hit TAB to cycle through know recipients.                               
+                                                                                                  
+5.8.  Sometimes I see little images at the top of article buffer. What's                          
+      that and how can I send one with my postings, too?                                          
+                                                                                                  
+      Those images are called X-Faces. They are 48*48 pixel b/w pictures,                         
+      encoded in a header line. If you want to include one in your posts,                         
+      you've got to convert some image to a X-Face. So fire up some image                         
+      manipulation program (say Gimp), open the image you want to                                 
+      include, cut out the relevant part, reduce color depth to 1 bit,                            
+      resize to 48*48 and save as bitmap. Now you should get the compface                         
+      package from this site [ftp://ftp.cs.indiana.edu:/pub/faces/]. and                          
+      create the actual X-face by saying                                                          
+                                                                                                  
+      cat file.xbm | xbm2ikon |compface > file.face                                               
+      cat ./file.face | sed 's/\\/\\\\/g' | sed 's/\"/\\\"/g' > ./file.face.quoted                
+                                                                                                  
+                                                                                                  
+      if you can't use compface, there's an online X-face converter at                            
+      http://www.dairiki.org/xface/ [http://www.dairiki.org/xface/]. If                           
+      you use MS Windows, you could also use the WinFace program from                             
+      http://www.xs4all.nl/~walterln/winface/ [http://www.xs4all.nl/                              
+      ~walterln/winface/]. Now you only have to tell Gnus to include the                          
+      X-face in your postings by saying                                                           
+                                                                                                  
+      (setq message-default-headers                                                               
+              (with-temp-buffer                                                                   
+                (insert "X-Face: ")                                                               
+                (insert-file-contents "~/.xemacs/xface")                                          
+                (buffer-string)))                                                                 
+                                                                                                  
+                                                                                                  
+      in ~/.gnus.                                                                                 
+                                                                                                  
+5.9.  Sometimes I accidentally hit r instead of f in newsgroups. Can Gnus                         
+      warn me, when I'm replying by mail in newsgroups?                                           
+                                                                                                  
+      Put this in ~/.gnus:                                                                        
+                                                                                                  
+      (defadvice gnus-summary-reply (around reply-in-news activate)                               
+             (interactive)                                                                        
+              (when (or (not (gnus-news-group-p gnus-newsgroup-name))                             
+                        (y-or-n-p "Really reply? "))                                              
+               ad-do-it))                                                                         
+                                                                                                  
+                                                                                                  
+      In Oort you can use                                                                         
+                                                                                                  
+      (setq gnus-confirm-mail-reply-to-news t)                                                    
+                                                                                                  
+                                                                                                  
+      instead to achieve the same result.                                                         
+                                                                                                  
+5.10. How to tell Gnus not to generate a sender header?                                           
+                                                                                                  
+      Say                                                                                         
+                                                                                                  
+      (eval-after-load "message"                                                                  
+            '(add-to-list 'message-syntax-checks '(sender . disabled)))                           
+                                                                                                  
+                                                                                                  
+      in ~/.gnus. (This is the default behaviour in Oort Gnus.)                                   
+                                                                                                  
+5.11. I want gnus to locally store copies of my send mail and news, how                           
+      to do it?                                                                                   
+                                                                                                  
+      You must set the variable gnus-message-archive-group to do this.                            
+      You can set it to a string giving the name of the group where the                           
+      copies shall go or like in the example below use a function which                           
+      is evaluated and which returns the group to use.                                            
+                                                                                                  
+      (setq gnus-message-archive-group                                                            
+              '((if (message-news-p)                                                              
+                    "nnml:Send-News"                                                              
+                  "nnml:Send-Mail")))                                                             
+                                                                                                  
+                                                                                                  
+5.12. People tell me my Message-IDs are not correct, why aren't they and                          
+      how to fix it?                                                                              
+                                                                                                  
+      The message-ID is an unique identifier for messages you send. To                            
+      make it unique, Gnus need to know which machine name to put after                           
+      the "@". If the name of the machine where Gnus is running isn't                             
+      suitable (it probably isn't at most private machines) you can tell                          
+      Gnus what to use by saying:                                                                 
+                                                                                                  
+      (defun message-make-message-id()                                                            
+         (concat "<"(message-unique-id)"@yourmachine.yourdomain.tld>"))                           
+                                                                                                  
+                                                                                                  
+      in ~/.gnus. If you have no idea what to insert for                                          
+      "yourmachine.yourdomain.tld", you've got several choices. You can                           
+      either ask your provider if he allows you to use something like                             
+      yourUserName.userfqdn.provider.net, or you can use                                          
+      somethingUnique.yourdomain.tld if you own the domain                                        
+      yourdomain.tld, or you can register at a service which gives                                
+      private users a FQDN for free, e.g. http://www.stura.tu-freiberg.de                         
+      /~dlx/addfqdn.html [http://www.stura.tu-freiberg.de/~dlx/                                   
+      addfqdn.html]. (Sorry but this website is in German, if you know of                         
+      an English one offering the same, drop me a note).                                          
+                                                                                                  
+      Finally you can tell Gnus not to generate a Message-ID for News at                          
+      all (and letting the server do the job) by saying                                           
+                                                                                                  
+      (setq message-required-news-headers                                                         
+        (remove' Message-ID message-required-news-headers))                                       
+                                                                                                  
+                                                                                                  
+      you can also tell Gnus not to generate Message-IDs for mail by                              
+      saying                                                                                      
+                                                                                                  
+      (setq message-required-mail-headers                                                         
+        (remove' Message-ID message-required-mail-headers))                                       
+                                                                                                  
+                                                                                                  
+      , however some mail servers don't generate proper Message-IDs, too,                         
+      so test if your Mail Server behaves correctly by sending yourself a                         
+      Mail and looking at the Message-ID.                                                         
+                                                                                                  
+6. Old messages                                                                                   
+                                                                                                  
+6.1.  How to import my old mail into Gnus?                                                        
+                                                                                                  
+      The easiest way is to tell your old mail program to export the                              
+      messages in mbox format. Most Unix mailers are able to do this, if                          
+      you come from the MS Windows world, you may find tools at http://                           
+      mbx2mbox.sourceforge.net/ [http://mbx2mbox.sourceforge.net/].                               
+                                                                                                  
+      Now you've got to import this mbox file into Gnus. To do this,                              
+      create a nndoc group based on the mbox file by saying G f /path/                            
+      file.mbox RET in Group buffer. You now have read-only access to                             
+      your mail. If you want to import the messages to your normal Gnus                           
+      mail groups hierarchy, enter the nndoc group you've just created by                         
+      saying C-u RET (thus making sure all messages are retrieved), mark                          
+      all messages by saying M P b and either copy them to the desired                            
+      group by saying B c name.of.group RET or send them through                                  
+      nnmail-split-methods (respool them) by saying B r.                                          
+                                                                                                  
+6.2.  How to archive interesting messages?                                                        
+                                                                                                  
+      If you stumble across an interesting message, say in gnu.emacs.gnus                         
+      and want to archive it there are several solutions. The first and                           
+      easiest is to save it to a file by saying O f. However, wouldn't it                         
+      be much more convenient to have more direct access to the archived                          
+      message from Gnus? If you say yes, put this snippet by Frank Haun                           
+      <pille3003@fhaun.de> in ~/.gnus:                                                            
+                                                                                                  
+      (defun my-archive-article (&optional n)                                                     
+        "Copies one or more article(s) to a corresponding `nnml:' group, e.g.                     
+      `gnus.ding' goes to `nnml:1.gnus.ding'. And `nnml:List-gnus.ding' goes                      
+      to `nnml:1.List-gnus-ding'.                                                                 
+                                                                                                  
+      Use process marks or mark a region in the summary buffer to archive                         
+      more then one article."                                                                     
+        (interactive "P")                                                                         
+        (let ((archive-name                                                                       
+               (format                                                                            
+                "nnml:1.%s"                                                                       
+                (if (featurep 'xemacs)                                                            
+                    (replace-in-string gnus-newsgroup-name "^.*:" "")                             
+                  (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name)))))                    
+          (gnus-summary-copy-article n archive-name)))                                            
+                                                                                                  
+                                                                                                  
+      You can now say M-x my-archive-article in summary buffer to archive                         
+      the article under the cursor in a nnml group. (Change nnml to your                          
+      preferred back end)                                                                         
+                                                                                                  
+      Of course you can also make sure the cache is enabled by saying                             
+                                                                                                  
+      (setq gnus-use-cache t)                                                                     
+                                                                                                  
+                                                                                                  
+      then you only have to set either the tick or the dormant mark for                           
+      articles you want to keep, setting the read mark will remove them                           
+      from cache.                                                                                 
+                                                                                                  
+6.3.  How to search for a specific message?                                                       
+                                                                                                  
+      There are several ways for this, too. For a posting from a Usenet                           
+      group the easiest solution is probably to ask groups.google.com                             
+      [http://groups.google.com] (in Oort Gnus you can search                                     
+      groups.google.com with G W), if you found the posting there, tell                           
+      Google to display the raw message, look for the message-id, and say                         
+      M-^ the@message.id RET in a summary buffer.                                                 
+                                                                                                  
+      Another idea which works for both mail and news groups is to enter                          
+      the group where the message you are searching is and use the                                
+      standard Emacs search C-s, it's smart enough to look at articles in                         
+      collapsed threads, too. If you want to search bodies, too try M-s                           
+      instead. Further on there are the gnus-summary-limit-to-foo                                 
+      functions, which can help you, too.                                                         
+                                                                                                  
+      Of course you can also use grep to search through your local mail,                          
+      but this is both slow for big archives and inconvenient since you                           
+      are not displaying the found mail in Gnus. Here comes nnir into                             
+      action. Nnir is a front end to search engines like swish-e or                               
+      swish++ and others. You index your mail with one of those search                            
+      engines and with the help of nnir you can search trough the indexed                         
+      mail and generate a temporary group with all messages which met                             
+      your search criteria. If this sound cool to you get nnir.el from                            
+      ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/ [ftp://                                     
+      ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/] or ftp://                                        
+      ftp.is.informatik.uni-duisburg.de/pub/src/emacs/ [ftp://                                    
+      ftp.is.informatik.uni-duisburg.de/pub/src/emacs/]. Instructions on                          
+      how to use it are at the top of the file.                                                   
+                                                                                                  
+6.4.  How to get rid of old unwanted mail?                                                        
+                                                                                                  
+      You can of course just mark the mail you don't need anymore by                              
+      saying # with point over the mail and then say B DEL to get rid of                          
+      them forever. You could also instead of actually deleting them,                             
+      send them to a junk-group by saying B m nnml:trash-bin which you                            
+      clear from time to time, but both are not the intended way in Gnus.                         
+                                                                                                  
+      In Gnus, we let mail expire like news expires on a news server.                             
+      That means you tell Gnus the message is expirable (you tell Gnus "I                         
+      don't need this mail anymore") by saying E with point over the mail                         
+      in summary buffer. Now when you leave the group, Gnus looks at all                          
+      messages which you marked as expirable before and if they are old                           
+      enough (default is older than a week) they are deleted.                                     
+                                                                                                  
+6.5.  I want that all read messages are expired (at least in some                                 
+      groups). How to do it?                                                                      
+                                                                                                  
+      If you want all read messages to be expired (e.g. in mailing lists                          
+      where there's an online archive), you've got two choices:                                   
+      auto-expire and total-expire. Auto-expire means, that every article                         
+      which has no marks set and is selected for reading is marked as                             
+      expirable, Gnus hits E for you every time you read a message.                               
+      Total-expire follows a slightly different approach, here all                                
+      article where the read mark is set are expirable.                                           
+                                                                                                  
+      To activate auto-expire, include auto-expire in the Group                                   
+      parameters for the group. (Hit G c in summary buffer with point                             
+      over the group to change group parameters). For total-expire add                            
+      total-expire to the group-parameters.                                                       
+                                                                                                  
+      Which method you choose is merely a matter of taste: Auto-expire is                         
+      faster, but it doesn't play together with Adaptive Scoring, so if                           
+      you want to use this feature, you should use total-expire.                                  
+                                                                                                  
+      If you want a message to be excluded from expiration in a group                             
+      where total or auto expire is active, set either tick (hit u) or                            
+      dormant mark (hit u), when you use auto-expire, you can also set                            
+      the read mark (hit d).                                                                      
+                                                                                                  
+6.6.  I don't want expiration to delete my mails but to move them to                              
+      another group.                                                                              
+                                                                                                  
+      Say something like this in ~/.gnus:                                                         
+                                                                                                  
+      (setq nnmail-expiry-target "nnml:expired")                                                  
+                                                                                                  
+                                                                                                  
+      (If you want to change the value of nnmail-expiry-target on a per                           
+      group basis see the question "How can I disable threading in some                           
+      (e.g. mail-) groups, or set other variables specific for some                               
+      groups?")                                                                                   
+                                                                                                  
+7. Getting help                                                                                   
+                                                                                                  
+7.1.  How to find information and help inside Emacs?                                              
+                                                                                                  
+      The first stop should be the Gnus manual (Say C-h i d m Gnus RET to                         
+      start the Gnus manual, then walk through the menus or do a                                  
+      full-text search with s). Then there are the general Emacs help                             
+      commands starting with C-h, type C-h ? ? to get a list of all                               
+      available help commands and their meaning. Finally M-x                                      
+      apropos-command lets you search through all available functions and                         
+      M-x apropos searches the bound variables.                                                   
+                                                                                                  
+7.2.  I can't find anything in the Gnus manual about X (e.g. attachments,                         
+      PGP, MIME...), is it not documented?                                                        
+                                                                                                  
+      There's not only the Gnus manual but also the manuals for message,                          
+      emacs-mime, sieve and (only in Oort Gnus) pgg. Those packages are                           
+      distributed with Gnus and used by Gnus but aren't really part of                            
+      core Gnus, so they are documented in different info files, you                              
+      should have a look in those manuals, too.                                                   
+                                                                                                  
+7.3.  Which websites should I know?                                                               
+                                                                                                  
+      The two most important ones are the official Gnus website [http://                          
+      www.gnus.org]. and it's sister site my.gnus.org (MGO) [http://                              
+      my.gnus.org], hosting an archive of lisp snippets, howtos, a (not                           
+      really finished) tutorial and this FAQ.                                                     
+                                                                                                  
+      Tell me about other sites which are interesting.                                            
+                                                                                                  
+7.4.  Which mailing lists and newsgroups are there?                                               
+                                                                                                  
+      There's the newsgroup gnu.emacs.gnus (pull it from e.g.                                     
+      news.gnus.org) which deals with general questions and the ding                              
+      mailing list (ding@gnus.org) dealing with development of Gnus. You                          
+      can read the ding list via NNTP, too under the name gnus.ding from                          
+      news.gnus.org.                                                                              
+                                                                                                  
+      If you want to stay in the big8, news.software.newssreaders is also                         
+      read by some Gnus users (but chances for qualified help are much                            
+      better in the above groups) and if you speak German, there's                                
+      de.comm.software.gnus.                                                                      
+                                                                                                  
+7.5.  Where to report bugs?                                                                       
+                                                                                                  
+      Say M-x gnus-bug, this will start a message to the gnus bug mailing                         
+      list [mailto:bugs@gnus.org] including information about your                                
+      environment which make it easier to help you.                                               
+                                                                                                  
+7.6.  I need real-time help, where to find it?                                                    
+                                                                                                  
+      Point your IRC client to irc.my.gnus.org channel #mygnus. Don't be                          
+      afraid if people there speak German, they are willing and capable                           
+      of switching to English when people from outside Germany enter.                             
+                                                                                                  
+8. Tuning Gnus                                                                                    
+                                                                                                  
+8.1.  Starting Gnus is really slow, how to speed it up?                                           
+                                                                                                  
+      The reason for this could be the way Gnus reads it's active file,                           
+      see the node "The Active File" in the Gnus manual for things you                            
+      might try to speed the process up. An other idea would be to byte                           
+      compile your ~/.gnus (say M-x byte-compile-file RET ~/.gnus RET to                          
+      do it). Finally, if you have require statements in your .gnus, you                          
+      could replace them with eval-after-load, which loads the stuff not                          
+      at startup time, but when it's needed. Say you've got this in your                          
+      ~/.gnus:                                                                                    
+                                                                                                  
+      (require 'message)                                                                          
+      (add-to-list 'message-syntax-checks '(sender . disabled))                                   
+                                                                                                  
+                                                                                                  
+      then as soon as you start Gnus, message.el is loaded. If you                                
+      replace it with                                                                             
+                                                                                                  
+      (eval-after-load "message"                                                                  
+            '(add-to-list 'message-syntax-checks '(sender . disabled)))                           
+                                                                                                  
+                                                                                                  
+      it's loaded when it's needed.                                                               
+                                                                                                  
+8.2.  How to speed up the process of entering a group?                                            
+                                                                                                  
+      A speed killer is setting the variable gnus-fetch-old-headers to                            
+      anything different from nil, so don't do this if speed is an issue.                         
+      To speed up building of summary say                                                         
+                                                                                                  
+      (gnus-compile)                                                                              
+                                                                                                  
+                                                                                                  
+      at the bottom of your ~/.gnus, this will make gnus byte-compile                             
+      things like gnus-summary-line-format. then you could increase the                           
+      value of gc-cons-threshold by saying something like                                         
+                                                                                                  
+      (setq gc-cons-threshold 3500000)                                                            
+                                                                                                  
+                                                                                                  
+      in ~/.emacs. If you don't care about width of CJK characters or use                         
+      Oort Gnus together with a recent GNU Emacs, you should say                                  
+                                                                                                  
+      (setq gnus-use-correct-string-widths nil)                                                   
+                                                                                                  
+                                                                                                  
+      in ~/.gnus (thanks to Jesper harder for the last two suggestions).                          
+      Finally if this also doesn't help, you might want to jump in the                            
+      cold water and try Oort Gnus, there some work has been done to                              
+      speed up summary generation. Read and remember the warnings about                           
+      Oort at the top of this FAQ.                                                                
+                                                                                                  
+8.3.  Sending mail becomes slower and slower, what's up?                                          
+                                                                                                  
+      The reason could be that you told Gnus to archive the messages you                          
+      wrote by setting gnus-message-archive-group. Try to use a nnml                              
+      group instead of an archive group, this should bring you back to                            
+      normal speed.                                                                               
+
+Glossary
+
+~/.gnus
+   
+    When the term ~/.gnus is used it just means your Gnus
+    configuration file. You might as well call it ~/.gnus.el or
+    specify another name.
+   
+Back End
+   
+    In Gnus terminology a back end is a virtual server, a layer
+    between core Gnus and the real NNTP-, POP3-, IMAP- or
+    whatever-server which offers Gnus a standardized interface to
+    functions like "get message", "get Headers" etc.
+   
+Emacs
+   
+    When the term Emacs is used in this FAQ, it means either GNU
+    Emacs or XEmacs.
+   
+Message
+   
+    In this FAQ message means a either a mail or a posting to a
+    Usenet Newsgroup or to some other fancy back end, no matter of
+    which kind it is.
+   
+MUA
+   
+    MUA is an acronym for Mail User Agent, it's the program you use
+    to read and write e-mails.
+   
+NUA
+   
+    NUA is an acronym for News User Agent, it's the program you use
+    to read and write Usenet news.
+   
index cbd49df..bd3cbf2 100644 (file)
--- a/make.bat
+++ b/make.bat
 @echo off\r
 \r
-rem Written by David Charlap (shamino@writeme.com)\r
-rem\r
-rem There are two possible problems with this batch file.  The emacs.bat batch\r
-rem file may not exist in all distributions.  It is part of the GNU build of\r
-rem Emacs 20.4 (http://www.gnu.org/softare/emacs/windows.ntemacs.html)  If you\r
-rem install Gnus with some other build, you may have to replace calls to\r
-rem %1\emacs.bat with something else.\r
-rem \r
-rem Also, the emacs.bat file that comes with Emacs does not accept more than 9\r
-rem parameters, so the attempts to compile the .texi files will fail.  To\r
-rem fix that (at least on NT.  I don't know about Win95), the following\r
-rem change should be made to emacs.bat:\r
-rem \r
-rem     %emacs_dir%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9\r
-rem \r
-rem should become\r
-rem \r
-rem     %emacs_dir%\bin\emacs.exe %*\r
-rem \r
-rem which will allow the batch file to accept an unlimited number of\r
-rem parameters.\r
-\r
+rem Written by Frank Schmitt <ich@frank-schmitt.net>\r
+rem based on the work by David Charlap (shamino@writeme.com)\r
+rem .\r
 rem Clear PWD so emacs doesn't get confused\r
 set GNUS_PWD_SAVE=%PWD%\r
 set PWD=\r
+set ERROR=:\r
 \r
 if "%1" == "" goto usage\r
 \r
-rem Directory where the info files are installed\r
-set GNUS_INFO_DIR=%1\info\r
-\r
 rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is\r
 rem not present -- this also fixes the problem about too many parameters on Win9x.\r
-set emacs=emacs.exe\r
-if exist %1\bin\emacs.bat set emacs=emacs.bat\r
-set EMACSBATCH=call %1\bin\%emacs% -no-site-file -batch -q\r
+if exist %1\emacs.bat goto ebat\r
+if exist %1\emacs.exe goto eexe\r
+if exist %1\xemacs.exe goto xemacs\r
+goto noemacs\r
+\r
+:ebat\r
+set EMACS=emacs.bat\r
+echo.\r
+echo ***************************************************************************\r
+echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat, \r
+echo * it isn't needed anymore.\r
+echo ***************************************************************************\r
+echo.\r
+goto emacs\r
+\r
+:eexe\r
+set EMACS=emacs.exe\r
+echo.\r
+echo ***************************************************************************\r
+echo * Using emacs.exe\r
+echo ***************************************************************************\r
+echo.\r
+goto emacs\r
 \r
+:emacs\r
+if not "%2" == "/copy" goto emacsnocopy\r
+if not exist %1\..\site-lisp mkdir %1\..\site-lisp\r
+if not exist %1\..\site-lisp\gnus mkdir %1\..\site-lisp\gnus\r
+if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes\r
+:emacsnocopy\r
+set GNUS_INFO_DIR=%1\..\info\r
+set GNUS_LISP_DIR=%1\..\site-lisp\gnus\lisp\r
+set GNUS_ETC_DIR=%1\..\site-lisp\gnus\etc\r
+goto lisp\r
+      \r
+:xemacs      \r
+set EMACS=xemacs.exe\r
+if not "%2" == "/copy" goto xemacsnocopy\r
+if not exist %1\..\..\site-packages\ mkdir %1\..\..\site-packages\\r
+if not exist %1\..\..\site-packages\info mkdir %1\..\..\site-packages\info\r
+if not exist %1\..\..\site-packages\lisp mkdir %1\..\..\site-packages\lisp\r
+if not exist %1\..\..\site-packages\etc mkdir %1\..\..\site-packages\etc\r
+:xemacsnocopy\r
+set GNUS_INFO_DIR=%1\..\..\site-packages\info\r
+set GNUS_LISP_DIR=%1\..\..\site-packages\lisp\gnus\r
+set GNUS_ETC_DIR=%1\..\..\site-packages\etc\r
+echo.\r
+echo ***************************************************************************\r
+echo * Using xemacs.exe\r
+echo ***************************************************************************\r
+echo.\r
+goto lisp\r
+\r
+:lisp\r
+set EMACSBATCH=call %1\%EMACS% -no-site-file -batch -q\r
 cd lisp\r
+if exist gnus-load.el del gnus-load.el\r
+echo.\r
+echo Stand by while generating autoloads.\r
+echo.\r
+%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load .\r
+if ErrorLevel 1 set ERROR=make-cus-load\r
+%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-auto-load .\r
+if ErrorLevel 1 set ERROR=%ERROR%,make-auto-load\r
+%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load\r
+if ErrorLevel 1 set ERROR=%ERROR%,make-load\r
+echo.\r
+echo Stand by while compiling lisp files.\r
+echo.\r
 %EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile\r
-if not "%2" == "/copy" goto info\r
-attrib -r %1\lisp\gnus\*\r
-copy *.el* %1\lisp\gnus\r
+if ErrorLevel 1 set ERROR=%ERROR%,compile\r
 \r
-:info\r
-set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo\r
+if not "%2" == "/copy" goto infotest\r
+echo.\r
+echo Stand by while copying lisp files.\r
+echo.\r
+if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR%\r
+xcopy /R /Q /Y *.el* %GNUS_LISP_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-lisp\r
+goto infotest\r
+\r
+:infotest\r
 cd ..\texi\r
-%EMACSINFO% message.texi\r
+if exist sieve del sieve\r
+makeinfo sieve.texi\r
+if exist sieve goto minfo \r
+REM It seems that makeinfo isn't available\r
+set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo\r
+echo.\r
+echo ***************************************************************************\r
+echo * Using infohack.el, if you've got makeinfo.exe put it in PATH.\r
+echo ***************************************************************************\r
+echo.\r
+goto info\r
+\r
+:minfo\r
+set EMACSINFO=makeinfo  \r
+echo.\r
+echo ***************************************************************************\r
+echo * Using makeinfo\r
+echo ***************************************************************************\r
+echo.\r
+goto info\r
+\r
+:info\r
+echo.\r
+echo Stand by while generating info files.\r
+echo.\r
 %EMACSINFO% emacs-mime.texi\r
+if ErrorLevel 1 set ERROR=%ERROR%,emacs-mime.texi\r
 %EMACSINFO% gnus.texi\r
-if not "%2" == "/copy" goto done\r
-copy gnus       %GNUS_INFO_DIR%\r
-copy gnus-?     %GNUS_INFO_DIR%\r
-copy gnus-??    %GNUS_INFO_DIR%\r
-copy message    %GNUS_INFO_DIR%\r
-copy message-?  %GNUS_INFO_DIR%\r
-copy emacs-mime %GNUS_INFO_DIR%\r
-copy sieve      %GNUS_INFO_DIR%\r
-copy pgg        %GNUS_INFO_DIR%\r
-echo Maybe you should add the following line to %GNUS_INFO_DIR%\dir:\r
+if ErrorLevel 1 set ERROR=%ERROR%,gnus.texi\r
+%EMACSINFO% sieve.texi\r
+if ErrorLevel 1 set ERROR=%ERROR%,sieve.texi\r
+%EMACSINFO% pgg.texi\r
+if ErrorLevel 1 set ERROR=%ERROR%,pgg.texi\r
+%EMACSINFO% message.texi\r
+if ErrorLevel 1 set ERROR=%ERROR%,message.texi\r
+\r
+if not "%2" == "/copy" goto nocopy\r
+if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR%\r
+\r
+echo.\r
+echo Stand by while copying info files.\r
+echo.\r
+xcopy /R /Q /Y gnus       %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-info\r
+xcopy /R /Q /Y gnus-?     %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-x-info\r
+xcopy /R /Q /Y gnus-??    %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-xx-info\r
+xcopy /R /Q /Y message    %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-message-info\r
+if exist message-1 xcopy /R /Q /Y message-?  %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-message-x-info\r
+xcopy /R /Q /Y emacs-mime %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-emacs-mime-info\r
+xcopy /R /Q /Y sieve      %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-sieve-info\r
+xcopy /R /Q /Y pgg        %GNUS_INFO_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-pgg-info\r
+\r
 echo.\r
-echo * PGG: (pgg).             Emacs interface to various PGP implementations.\r
-echo * Sieve: (sieve). Managing Sieve scripts in Emacs.\r
+echo ***************************************************************************\r
+echo * You should add the following lines to \r
+echo * %GNUS_INFO_DIR%\dir \r
+echo * if they aren't already there:\r
+echo *\r
+echo * * PGG: (pgg).   Emacs interface to various PGP implementations.\r
+echo * * Sieve: (sieve).       Managing Sieve scripts in Emacs.\r
+echo ***************************************************************************\r
 echo.\r
 \r
 :etc\r
 cd ..\etc\r
-copy gnus-tut.txt %1\etc\r
+echo.\r
+echo Stand by while copying etc files.\r
+echo.\r
+if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR%\r
+xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR%\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-tut-txt\r
+if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus\r
+xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-*\r
+if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies\r
+xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\\r
+if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-smilies-*\r
+goto warnings\r
+\r
+:nocopy\r
+echo.\r
+echo ***************************************************************************\r
+echo * You chose not to copy the files, therefore you should add the \r
+echo * following lines to the TOP of your [X]emacs customization file:\r
+echo *\r
+echo * (add-to-list 'load-path "/Path/to/gnus/lisp")\r
+echo * (if (featurep 'xemacs)\r
+echo *     (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/")\r
+echo *   (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/")\r
+echo * (require 'gnus-load)\r
+echo *\r
+echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here\r
+echo * and yes, you've got to use forward slashes).\r
+echo ***************************************************************************\r
+echo.\r
+\r
+:warnings\r
+if not "%subdirwarning%" == "yes" goto warngnusload\r
+echo.\r
+echo ***************************************************************************\r
+echo * There's no subdirs.el file in your site-lisp directory, you should\r
+echo * therefor add the following line to the TOP of your Emacs\r
+echo * customization file:\r
+echo *\r
+echo * (add-to-list 'load-path "/Path/to/emacs-site-lisp-directory/gnus/lisp")\r
+echo * (require 'gnus-load)\r
+echo * Yes, it must be forward slashes.\r
+echo ***************************************************************************\r
+echo.\r
+goto warnerrors\r
+\r
+:warngnusload\r
+echo.\r
+echo ***************************************************************************\r
+echo * You should add the following line to the TOP of your Emacs\r
+echo * customization file:\r
+echo *\r
+echo * (require 'gnus-load)\r
+echo ***************************************************************************\r
+echo.\r
+\r
+:warnerrors\r
+if "%ERROR%"==":" goto noerrors\r
+set errorlevel=1\r
+echo.\r
+echo ***************************************************************************\r
+echo * WARNING ERRORS OCCURRED!\r
+echo * You should look for error messages in the output of the called programs\r
+echo * and try to find out what exactly went wrong.\r
+echo * Errors occured in the following modules:\r
+echo * %ERROR%\r
+echo ***************************************************************************\r
+echo.\r
+goto done\r
+\r
+:noerrors\r
+set errorlevel=0\r
 \r
 :done\r
 cd ..\r
 goto end\r
 \r
+:noemacs\r
+echo.\r
+echo ***************************************************************************\r
+echo * Unable to find emacs.exe or xemacs.exe on the path you specified!\r
+echo * STOP!\r
+echo ***************************************************************************\r
+echo.\r
+goto usage\r
+\r
 :usage\r
-echo Usage: make :emacs-dir: [/copy]\r
 echo.\r
-echo where: :emacs-dir: is the directory you installed emacs in\r
-echo                    eg. d:\emacs\20.4\r
-echo        /copy indicates that the compiled files should be copied to your\r
-echo             emacs lisp, info, and etc directories\r
+echo ***************************************************************************\r
+echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy]\r
+echo *\r
+echo * where: :[X]Emacs-exe-dir: is the directory your \r
+echo *           emacs.exe respectively xemacs.exe resides in, \r
+echo *           e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\\r
+echo *           or G:\Emacs\bin\r
+echo *        /copy indicates that the compiled files should be copied to your\r
+echo *           emacs lisp, info, and etc site directories.\r
+echo *\r
+echo * Note: If you have Emacs/w3 you should set the environment variable \r
+echo *       W3DIR to the directory where w3 is installed eg.\r
+echo *                set W3DIR=d:\lisp\w3-4.0pre46\lisp\r
+echo ***************************************************************************\r
 echo.\r
-echo Note: If you have Emacs/w3 you should set the environment variable \r
-echo       W3DIR to the directory where w3 is installed eg.\r
-echo                 set W3DIR=d:\lisp\w3-4.0pre46\lisp\r
 \r
-rem Restore PWD so whoever called this batch file doesn't get confused\r
+:end\r
+rem Restore environment variables\r
 set PWD=%GNUS_PWD_SAVE%\r
 set GNUS_PWD_SAVE=\r
 set EMACSBATCH=\r
+set GNUS_LISP_DIR=\r
 set GNUS_INFO_DIR=\r
-:end\r
+set GNUS_ETC_DIR=\r
+set subdirwarning=\r
+set ERROR=\r