From ec17c3a448e09196f1291e340a6683351e817f62 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Sun, 23 Mar 2003 13:57:32 +0000 Subject: [PATCH] Synch to Oort Gnus 200303230347. --- ChangeLog | 15 + GNUS-NEWS | 18 + etc/gnus-tut.txt | 1480 ++++++++++++++++++++++++++++++++++++++++++++++++++ lisp/ChangeLog | 19 + lisp/deuglify.el | 2 +- lisp/mm-url.el | 7 +- make.bat | 305 +++++++++-- texi/ChangeLog | 9 + texi/gnus-ja.texi | 34 +- texi/gnus.texi | 46 +- texi/message-ja.texi | 6 +- texi/message.texi | 5 +- 12 files changed, 1848 insertions(+), 98 deletions(-) diff --git a/ChangeLog b/ChangeLog index 3a07a57..6d15112 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,18 @@ +2003-03-22 Frank Schmitt + + * 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 + + * make-x.bat: Removed, make.bat does its job now. + +2003-03-22 Frank Schmitt + + * etc/gnus-tut.txt: Include Gnus FAQ from http://my.gnus.org. + 2003-03-18 Katsumi Yamaoka * lisp/gnus-vers.el: T-gnus 6.15.17 (quimby) revision 00. diff --git a/GNUS-NEWS b/GNUS-NEWS index 8f39bfd..7716767 100644 --- a/GNUS-NEWS +++ b/GNUS-NEWS @@ -8,6 +8,24 @@ For older news, see Gnus info node "New Features". * 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 diff --git a/etc/gnus-tut.txt b/etc/gnus-tut.txt index b12b567..2c97c00 100644 --- a/etc/gnus-tut.txt +++ b/etc/gnus-tut.txt @@ -293,3 +293,1483 @@ If you have any questions on usage, the "ding@ifi.uio.no" 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: + +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 $") + ("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 " + + + 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 + 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. + diff --git a/lisp/ChangeLog b/lisp/ChangeLog index c1d6786..06aae03 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,22 @@ +2003-03-22 ShengHuo ZHU + + * mm-url.el (mm-url-insert-file-contents): parse url only if + results is a list. + +2003-03-22 Lars Magne Ingebrigtsen + + * mail-source.el (mail-source-fetch-imap): Revert. + +2003-03-22 Svend Tollak Munkejord + + * deuglify.el (gnus-outlook-repair-attribution-outlook): Use a + less strict regexp. + +2003-03-22 Lars Magne Ingebrigtsen + + * mail-source.el (mail-source-fetch-imap): Use buffer name for + more imap function. + 2003-03-21 Simon Josefsson * gnus-art.el (article-decode-group-name): Replace Newsgroups and diff --git a/lisp/deuglify.el b/lisp/deuglify.el index 5ec5c13..89be369 100644 --- a/lisp/deuglify.el +++ b/lisp/deuglify.el @@ -388,7 +388,7 @@ NODISPLAY is non-nil, don't redisplay the article buffer." (gnus-with-article-buffer (article-goto-body) (if (re-search-forward - (concat "^[" cite-marks " \t]*----* ?[^-]+ [^-]+ ?----*\n" + (concat "^[" cite-marks " \t]*--* ?[^-]+ [^-]+ ?--*\\s *\n" "[^\n:]+:[ \t]*\\([^\n]+\\)\n" "\\([^\n:]+:[ \t]*[^\n]+\n\\)+") nil t) diff --git a/lisp/mm-url.el b/lisp/mm-url.el index aaeb16a..6098ce7 100644 --- a/lisp/mm-url.el +++ b/lisp/mm-url.el @@ -291,11 +291,10 @@ This is taken from RFC 2396.") (while (re-search-forward "\r 1000\r ?" nil t) (replace-match ""))) (setq buffer-file-name name) - (if (fboundp 'url-generic-parse-url) + (if (and (fboundp 'url-generic-parse-url) + (listp result)) (setq url-current-object (url-generic-parse-url - (if (listp result) - (car result) - result)))) + (car result)))) result))) (defun mm-url-insert-file-contents-external (url) diff --git a/make.bat b/make.bat index cbd49df..bd3cbf2 100755 --- a/make.bat +++ b/make.bat @@ -1,92 +1,283 @@ @echo off -rem Written by David Charlap (shamino@writeme.com) -rem -rem There are two possible problems with this batch file. The emacs.bat batch -rem file may not exist in all distributions. It is part of the GNU build of -rem Emacs 20.4 (http://www.gnu.org/softare/emacs/windows.ntemacs.html) If you -rem install Gnus with some other build, you may have to replace calls to -rem %1\emacs.bat with something else. -rem -rem Also, the emacs.bat file that comes with Emacs does not accept more than 9 -rem parameters, so the attempts to compile the .texi files will fail. To -rem fix that (at least on NT. I don't know about Win95), the following -rem change should be made to emacs.bat: -rem -rem %emacs_dir%\bin\emacs.exe %1 %2 %3 %4 %5 %6 %7 %8 %9 -rem -rem should become -rem -rem %emacs_dir%\bin\emacs.exe %* -rem -rem which will allow the batch file to accept an unlimited number of -rem parameters. - +rem Written by Frank Schmitt +rem based on the work by David Charlap (shamino@writeme.com) +rem . rem Clear PWD so emacs doesn't get confused set GNUS_PWD_SAVE=%PWD% set PWD= +set ERROR=: if "%1" == "" goto usage -rem Directory where the info files are installed -set GNUS_INFO_DIR=%1\info - rem Emacs 20.7 no longer includes emacs.bat. Use emacs.exe if the batch file is rem not present -- this also fixes the problem about too many parameters on Win9x. -set emacs=emacs.exe -if exist %1\bin\emacs.bat set emacs=emacs.bat -set EMACSBATCH=call %1\bin\%emacs% -no-site-file -batch -q +if exist %1\emacs.bat goto ebat +if exist %1\emacs.exe goto eexe +if exist %1\xemacs.exe goto xemacs +goto noemacs + +:ebat +set EMACS=emacs.bat +echo. +echo *************************************************************************** +echo * Using emacs.bat (If you've got en Emacs >= 20.3 please remove Emacs.bat, +echo * it isn't needed anymore. +echo *************************************************************************** +echo. +goto emacs + +:eexe +set EMACS=emacs.exe +echo. +echo *************************************************************************** +echo * Using emacs.exe +echo *************************************************************************** +echo. +goto emacs +:emacs +if not "%2" == "/copy" goto emacsnocopy +if not exist %1\..\site-lisp mkdir %1\..\site-lisp +if not exist %1\..\site-lisp\gnus mkdir %1\..\site-lisp\gnus +if not exist %1\..\site-lisp\subdirs.el set subdirwarning=yes +:emacsnocopy +set GNUS_INFO_DIR=%1\..\info +set GNUS_LISP_DIR=%1\..\site-lisp\gnus\lisp +set GNUS_ETC_DIR=%1\..\site-lisp\gnus\etc +goto lisp + +:xemacs +set EMACS=xemacs.exe +if not "%2" == "/copy" goto xemacsnocopy +if not exist %1\..\..\site-packages\ mkdir %1\..\..\site-packages\ +if not exist %1\..\..\site-packages\info mkdir %1\..\..\site-packages\info +if not exist %1\..\..\site-packages\lisp mkdir %1\..\..\site-packages\lisp +if not exist %1\..\..\site-packages\etc mkdir %1\..\..\site-packages\etc +:xemacsnocopy +set GNUS_INFO_DIR=%1\..\..\site-packages\info +set GNUS_LISP_DIR=%1\..\..\site-packages\lisp\gnus +set GNUS_ETC_DIR=%1\..\..\site-packages\etc +echo. +echo *************************************************************************** +echo * Using xemacs.exe +echo *************************************************************************** +echo. +goto lisp + +:lisp +set EMACSBATCH=call %1\%EMACS% -no-site-file -batch -q cd lisp +if exist gnus-load.el del gnus-load.el +echo. +echo Stand by while generating autoloads. +echo. +%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-cus-load . +if ErrorLevel 1 set ERROR=make-cus-load +%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-auto-load . +if ErrorLevel 1 set ERROR=%ERROR%,make-auto-load +%EMACSBATCH% -l ./dgnushack.el -f dgnushack-make-load +if ErrorLevel 1 set ERROR=%ERROR%,make-load +echo. +echo Stand by while compiling lisp files. +echo. %EMACSBATCH% -l ./dgnushack.el -f dgnushack-compile -if not "%2" == "/copy" goto info -attrib -r %1\lisp\gnus\* -copy *.el* %1\lisp\gnus +if ErrorLevel 1 set ERROR=%ERROR%,compile -:info -set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo +if not "%2" == "/copy" goto infotest +echo. +echo Stand by while copying lisp files. +echo. +if not exist %GNUS_LISP_DIR% mkdir %GNUS_LISP_DIR% +xcopy /R /Q /Y *.el* %GNUS_LISP_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-lisp +goto infotest + +:infotest cd ..\texi -%EMACSINFO% message.texi +if exist sieve del sieve +makeinfo sieve.texi +if exist sieve goto minfo +REM It seems that makeinfo isn't available +set EMACSINFO=%EMACSBATCH% -l infohack.el -f batch-makeinfo +echo. +echo *************************************************************************** +echo * Using infohack.el, if you've got makeinfo.exe put it in PATH. +echo *************************************************************************** +echo. +goto info + +:minfo +set EMACSINFO=makeinfo +echo. +echo *************************************************************************** +echo * Using makeinfo +echo *************************************************************************** +echo. +goto info + +:info +echo. +echo Stand by while generating info files. +echo. %EMACSINFO% emacs-mime.texi +if ErrorLevel 1 set ERROR=%ERROR%,emacs-mime.texi %EMACSINFO% gnus.texi -if not "%2" == "/copy" goto done -copy gnus %GNUS_INFO_DIR% -copy gnus-? %GNUS_INFO_DIR% -copy gnus-?? %GNUS_INFO_DIR% -copy message %GNUS_INFO_DIR% -copy message-? %GNUS_INFO_DIR% -copy emacs-mime %GNUS_INFO_DIR% -copy sieve %GNUS_INFO_DIR% -copy pgg %GNUS_INFO_DIR% -echo Maybe you should add the following line to %GNUS_INFO_DIR%\dir: +if ErrorLevel 1 set ERROR=%ERROR%,gnus.texi +%EMACSINFO% sieve.texi +if ErrorLevel 1 set ERROR=%ERROR%,sieve.texi +%EMACSINFO% pgg.texi +if ErrorLevel 1 set ERROR=%ERROR%,pgg.texi +%EMACSINFO% message.texi +if ErrorLevel 1 set ERROR=%ERROR%,message.texi + +if not "%2" == "/copy" goto nocopy +if not exist %GNUS_INFO_DIR% mkdir %GNUS_INFO_DIR% + +echo. +echo Stand by while copying info files. +echo. +xcopy /R /Q /Y gnus %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-info +xcopy /R /Q /Y gnus-? %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-x-info +xcopy /R /Q /Y gnus-?? %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-gnus-xx-info +xcopy /R /Q /Y message %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-message-info +if exist message-1 xcopy /R /Q /Y message-? %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-message-x-info +xcopy /R /Q /Y emacs-mime %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-emacs-mime-info +xcopy /R /Q /Y sieve %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-sieve-info +xcopy /R /Q /Y pgg %GNUS_INFO_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-pgg-info + echo. -echo * PGG: (pgg). Emacs interface to various PGP implementations. -echo * Sieve: (sieve). Managing Sieve scripts in Emacs. +echo *************************************************************************** +echo * You should add the following lines to +echo * %GNUS_INFO_DIR%\dir +echo * if they aren't already there: +echo * +echo * * PGG: (pgg). Emacs interface to various PGP implementations. +echo * * Sieve: (sieve). Managing Sieve scripts in Emacs. +echo *************************************************************************** echo. :etc cd ..\etc -copy gnus-tut.txt %1\etc +echo. +echo Stand by while copying etc files. +echo. +if not exist %GNUS_ETC_DIR% mkdir %GNUS_ETC_DIR% +xcopy /R /Q /Y gnus-tut.txt %GNUS_ETC_DIR% +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-tut-txt +if not exist %GNUS_ETC_DIR%\gnus mkdir %GNUS_ETC_DIR%\gnus +xcopy /R /Q /Y .\gnus\* %GNUS_ETC_DIR%\gnus\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-gnus-* +if not exist %GNUS_ETC_DIR%\smilies mkdir %GNUS_ETC_DIR%\smilies +xcopy /R /Q /Y .\smilies\* %GNUS_ETC_DIR%\smilies\ +if ErrorLevel 1 set ERROR=%ERROR%,copy-etc-smilies-* +goto warnings + +:nocopy +echo. +echo *************************************************************************** +echo * You chose not to copy the files, therefore you should add the +echo * following lines to the TOP of your [X]emacs customization file: +echo * +echo * (add-to-list 'load-path "/Path/to/gnus/lisp") +echo * (if (featurep 'xemacs) +echo * (add-to-list 'Info-directory-list "c:/Path/to/gnus/texi/") +echo * (add-to-list 'Info-default-directory-list "c:/Path/to/gnus/texi/") +echo * (require 'gnus-load) +echo * +echo * Replace c:/Path/to/gnus with the Path where your new Gnus is (that's here +echo * and yes, you've got to use forward slashes). +echo *************************************************************************** +echo. + +:warnings +if not "%subdirwarning%" == "yes" goto warngnusload +echo. +echo *************************************************************************** +echo * There's no subdirs.el file in your site-lisp directory, you should +echo * therefor add the following line to the TOP of your Emacs +echo * customization file: +echo * +echo * (add-to-list 'load-path "/Path/to/emacs-site-lisp-directory/gnus/lisp") +echo * (require 'gnus-load) +echo * Yes, it must be forward slashes. +echo *************************************************************************** +echo. +goto warnerrors + +:warngnusload +echo. +echo *************************************************************************** +echo * You should add the following line to the TOP of your Emacs +echo * customization file: +echo * +echo * (require 'gnus-load) +echo *************************************************************************** +echo. + +:warnerrors +if "%ERROR%"==":" goto noerrors +set errorlevel=1 +echo. +echo *************************************************************************** +echo * WARNING ERRORS OCCURRED! +echo * You should look for error messages in the output of the called programs +echo * and try to find out what exactly went wrong. +echo * Errors occured in the following modules: +echo * %ERROR% +echo *************************************************************************** +echo. +goto done + +:noerrors +set errorlevel=0 :done cd .. goto end +:noemacs +echo. +echo *************************************************************************** +echo * Unable to find emacs.exe or xemacs.exe on the path you specified! +echo * STOP! +echo *************************************************************************** +echo. +goto usage + :usage -echo Usage: make :emacs-dir: [/copy] echo. -echo where: :emacs-dir: is the directory you installed emacs in -echo eg. d:\emacs\20.4 -echo /copy indicates that the compiled files should be copied to your -echo emacs lisp, info, and etc directories +echo *************************************************************************** +echo * Usage: make.bat :[X]Emacs-exe-dir: [/copy] +echo * +echo * where: :[X]Emacs-exe-dir: is the directory your +echo * emacs.exe respectively xemacs.exe resides in, +echo * e.g. G:\Programme\XEmacs\XEmacs-21.4.11\i586-pc-win32\ +echo * or G:\Emacs\bin +echo * /copy indicates that the compiled files should be copied to your +echo * emacs lisp, info, and etc site directories. +echo * +echo * Note: If you have Emacs/w3 you should set the environment variable +echo * W3DIR to the directory where w3 is installed eg. +echo * set W3DIR=d:\lisp\w3-4.0pre46\lisp +echo *************************************************************************** echo. -echo Note: If you have Emacs/w3 you should set the environment variable -echo W3DIR to the directory where w3 is installed eg. -echo set W3DIR=d:\lisp\w3-4.0pre46\lisp -rem Restore PWD so whoever called this batch file doesn't get confused +:end +rem Restore environment variables set PWD=%GNUS_PWD_SAVE% set GNUS_PWD_SAVE= set EMACSBATCH= +set GNUS_LISP_DIR= set GNUS_INFO_DIR= -:end +set GNUS_ETC_DIR= +set subdirwarning= +set ERROR= diff --git a/texi/ChangeLog b/texi/ChangeLog index eeab814..6567f89 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,6 +1,15 @@ +2003-03-23 Jesper Harder + + * gnus.texi (Group Information, Article Washing) + (Formatting Fonts, Group Parameters): Fix external xrefs. + + * message.texi (Mailing Lists): do. + 2003-03-22 Simon Josefsson * gnus.texi (Troubleshooting): Fix typo. + (Drafts): Mention how to restore special property, suggested by + Florian Weimer . 2003-03-19 Simon Josefsson diff --git a/texi/gnus-ja.texi b/texi/gnus-ja.texi index 64544dd..f5136d3 100644 --- a/texi/gnus-ja.texi +++ b/texi/gnus-ja.texi @@ -2830,7 +2830,8 @@ kiboze $B%0%k!<%W$r:n@.$7$^$9!#%W%m%s%W%H$GL>A0$H!"(Bkiboze $B%0%k!<%W$K!V4^$ $B%s%0%j%9%H$G$"$k$H2rpJs$r(B gnus $B$KM?$($k$3$H$O!"$"$J$?$,$=(B $B$l$i$N%a!<%j%s%0%j%9%H$KEj9F$9$k$H$-$K@5$7$$(B Mail-Followup-To $B%X%C%@!<$r(B $B@8@.$9$k$?$a$N(B ($B$[$s$N(B) $BBh0lJb$G$9!#MxMQ$G$-$k(B MFT $BBP1~5!G=$r40A4$K07$&(B -$B$K$O!"$3$3(B @pxref{(message)Mailing Lists} $B$r8+$F2<$5$$!#(B +$B$K$O!"$3$3(B @pxref{Mailing Lists, , Mailing Lists, message, The Message +Manual} $B$r8+$F2<$5$$!#(B @code{gnus-find-subscribed-addresses} $B$b;2>H$7$F2<$5$$!#$3$N4X?t$O$3$N%0(B $B%k!<%W%Q%i%a!<%?$rD>@\$K;H$$$^$9!#(B @@ -4216,7 +4217,8 @@ gnus $B$O(B @code{browse-url} $B$r;H$C$F%3%s%H%m!<%k%a%C%;!<%8$r3+$-$^$9!#$=$ $B%3%s%H%m!<%k%a%C%;!<%8$O05=L$5$l$F$$$k$3$H$KCm0U$7$F2<$5$$!#$3$N%3%^%s%I(B $B$r;H$&$K$O(B @code{auto-compression-mode} $B$r(B on $B$K$7$F$*$/I,MW$,$"$j$^(B -$B$9(B (@pxref{(emacs)Compressed Files})$B!#(B +$B$9(B (@pxref{Compressed Files, ,Compressed Files, emacs, The Emacs +Manual})$B!#(B @item H d @itemx C-c C-d @@ -8295,9 +8297,10 @@ URL $B$K4^$^$l$k2~9T$r:o=|$7$^$9!#$$$/$D$+$N%a%$%i!<$O!"9T$rC;$/$9$k$?$a$K(B @vindex gnus-article-wash-function $B%G%#%U%)%k%H$G$O(B @sc{html} $B$NJQ49$K(B @code{mm-text-html-renderer} -(@pxref{(emacs-mime)Display Customization}) $B$G@_Dj$5$l$?4X?t$r;H$$$^$9$,!"(B -$B$3$l$OJQ?t(B @code{gnus-article-wash-function} $B$G@)8f$5$l$^$9!#;H$&$3$H$,(B -$B$G$-$k!"$"$i$+$8$aMQ0U$5$l$?4X?t$O0J2<$NDL$j$G$9!#(B +(@pxref{Display Customization, ,Display Customization, emacs-mime, The +Emacs MIME Manual}) $B$G@_Dj$5$l$?4X?t$r;H$$$^$9$,!"$3$l$OJQ(B +$B?t(B @code{gnus-article-wash-function} $B$G@)8f$5$l$^$9!#;H$&$3$H$,$G$-$k!"(B +$B$"$i$+$8$aMQ0U$5$l$?4X?t$O0J2<$NDL$j$G$9!#(B @table @code @item w3 @@ -10928,7 +10931,12 @@ from date id references chars lines xref extra $B$N3F%X%C%@!<$+$i@.$k%Y%/(B $B$J$$$+$i$G$9!=!=%0%k!<%W$NA4$F$N5-;v$O1J5W$KL$FI$G$9!#(B $B$b$7%0%k!<%W$,B8:_$7$J$$$J$i!"$=$l$O:n@.$5$l!"9XFI$5$l$^$9!#%0%k!<%W%P%C(B -$B%U%!$+$i$=$l$r>C$75n$kM#0l$NJ}K!$O!"$=$l$rL$9XFI$K$9$k$3$H$G$9!#(B +$B%U%!$+$i$=$l$r>C$75n$kM#0l$NJ}K!$O!"$=$l$rL$9XFI$K$9$k$3$H$G$9!#2<=q$-%0(B +$B%k!<%W$NFCJL$NFC@-$O%0%k!<%WFC@-(B (@pxref{Group Parameters}) $B$K$h$C$F@8$8!"(B +$B$=$l$,<:$o$l$F$7$^$&$HB>$N%0%k!<%W$N$h$&$K?6$kIq$&$h$&$K$J$j$^$9!#$3$l$O(B +$B0J2<$N%3%^%s%I$,;H$($J$$$3$H$r0UL#$7$^$9!#$=$N%0%k!<%W$NFCJL$NFC@-$rI|3h(B +$B$5$;$k4JC1$JJ}K!$O!"(B@kbd{C-k} $B$G$=$N%0%k!<%W$r:o=|$7$F$+$i(B gnus $B$r:F5/F0(B +$B$9$k$3$H$G$9!#$=$N%0%k!<%W$NFbMFJ*$O<:$o$l$^$;$s!#(B @c @findex gnus-dissociate-buffer-from-draft @c @kindex C-c M-d (Mail) @@ -19775,13 +19783,13 @@ gnus $B$O4X?t(B @code{gnus-user-format-function-}@samp{foo} $B$r8F$S=P$7$^$9! $BMM$G$9!#(B@code{gnus-balloon-face-*} $BJQ?t$OJ8;zNs$+J8;zNs$rJV$94X?t$r;X$9(B $B%7%s%\%k$N$I$A$i$+$G$"$kI,MW$,$"$j$^$9!#%^%&%9$,%W%m%Q%F%#$N@_Dj$5$l$F$$(B $B$k%F%-%9%H$N>e$rDL2a$9$k$H!"%P%k!<%s%&%#%s%I%&$,8=$l$F!"J8;zNs$rI=<($7$^(B -$B$9!#$3$l$N>\$7$$>pJs$O(B @ref{(emacs)Help Echo} (GNU Emacs) $B$^$?(B -$B$O(B @code{balloon-help-mode} (XEmacs) $B$N@bL@J8;zNs$r;2>H$7$F$/$@$5$$!#(B($B5;(B -$B=QE*$JM}M3$N$?$a$K!"%.%#%a(B (guillemets: @footnote{guillemets ($BJ)8l(B) $B$O%.%e(B -$B%a$H$bI=5-$5$l$^$9!#F|K\8l$N!V!W$KEv$?$k$b$N$G!"8}F,I=8=$rI=5-$7$?$j!"6/(B -$BD4$7$?$$C18l$r0O$`!"2?$+$+$i$N0zMQItJ,$r0O$`!"=qJ*Ey$N%?%$%H%k$r5-$9EyMM!9(B -$B$K;H$o$l$^$9!#(B}) $B$O$3$N@a$G$O(B @samp{<<} $B$*$h$S(B @samp{>>} $B$H$7$F6a;w$5$l(B -$B$^$7$?!#(B) +$B$9!#$3$l$N>\$7$$>pJs$O(B @ref{Tooltips, ,Tooltips, emacs, The Emacs +Manual} (GNU Emacs) $B$^$?$O(B @code{balloon-help-mode} (XEmacs) $B$N@bL@J8;z(B +$BNs$r;2>H$7$F$/$@$5$$!#(B($B5;=QE*$JM}M3$N$?$a$K!"%.%#%a(B (guillemets: +@footnote{guillemets ($BJ)8l(B) $B$O%.%e%a$H$bI=5-$5$l$^$9!#F|K\8l$N!V!W$KEv$?(B +$B$k$b$N$G!"8}F,I=8=$rI=5-$7$?$j!"6/D4$7$?$$C18l$r0O$`!"2?$+$+$i$N0zMQItJ,(B +$B$r0O$`!"=qJ*Ey$N%?%$%H%k$r5-$9EyMM!9$K;H$o$l$^$9!#(B}) $B$O$3$N@a$G(B +$B$O(B @samp{<<} $B$*$h$S(B @samp{>>} $B$H$7$F6a;w$5$l$^$7$?!#(B) $B$3$l$O%0%k!<%W%P%C%U%!$NBeBX>} specifiers will get the -special @code{balloon-help} property set to @code{gnus-balloon-face-0}. -If you say @samp{%1<<}, you'll get @code{gnus-balloon-face-1} and so on. -The @code{gnus-balloon-face-*} variables should be either strings or -symbols naming functions that return a string. When the mouse passes -over text with this property set, a balloon window will appear and -display the string. Please refer to @ref{(emacs)Help Echo} (in GNU -Emacs) or the doc string of @code{balloon-help-mode} (in XEmacs) for -more information on this. (For technical reasons, the guillemets have -been approximated as @samp{<<} and @samp{>>} in this paragraph.) +special @code{balloon-help} property set to +@code{gnus-balloon-face-0}. If you say @samp{%1<<}, you'll get +@code{gnus-balloon-face-1} and so on. The @code{gnus-balloon-face-*} +variables should be either strings or symbols naming functions that +return a string. When the mouse passes over text with this property +set, a balloon window will appear and display the string. Please +refer to @ref{Tooltips, ,Tooltips, emacs, The Emacs Manual}, +(in GNU Emacs) or the doc string of @code{balloon-help-mode} (in +XEmacs) for more information on this. (For technical reasons, the +guillemets have been approximated as @samp{<<} and @samp{>>} in this +paragraph.) Here's an alternative recipe for the group buffer: diff --git a/texi/message-ja.texi b/texi/message-ja.texi index 21c7f00..4909e82 100644 --- a/texi/message-ja.texi +++ b/texi/message-ja.texi @@ -444,9 +444,9 @@ gnus $B$OB>$N?M$N%a%C%;!<%8$K$"$k(B MFT $B%X%C%@!<$rB:=E$7(B ($B$9$J$o$A!"$ gnus $B$K$O$3$NJQ?t$N9%E,$J8uJd$G$"$k$H$3$m$N!"$"$i$+$8$aDj5A$5$l$F$$$k4X(B $B?t$,$"$j$^$9!#4X?t(B @code{gnus-find-subscribed-addresses} $B$O!"(B -@code{subscribed} (@pxref{(gnus)subscribed}) $B%0%k!<%W%Q%i%a!<%?$,(B -$BHs(B-@code{nil} $B$K@_Dj$5$l$F$$$k%0%k!<%W$KBP1~$9$k%"%I%l%9$N%j%9%H$rJV$7$^(B -$B$9!#$3$s$J$U$&$K$7$^$7$g$&!#(B +@code{subscribed} (@pxref{Group Parameters, ,Group Parameters, gnus, The +Gnus Manual}) $B%0%k!<%W%Q%i%a!<%?$,Hs(B-@code{nil} $B$K@_Dj$5$l$F$$$k%0%k!<%W(B +$B$KBP1~$9$k%"%I%l%9$N%j%9%H$rJV$7$^$9!#$3$s$J$U$&$K$7$^$7$g$&!#(B @lisp (setq message-subscribed-address-functions diff --git a/texi/message.texi b/texi/message.texi index bbeaaf0..d1f86b0 100644 --- a/texi/message.texi +++ b/texi/message.texi @@ -424,8 +424,9 @@ functions not take any arguments. Default value is @code{nil}. There is a pre-defined function in Gnus that is a good candidate for this variable. @code{gnus-find-subscribed-addresses} is a function that returns a list of addresses corresponding to the groups that have -the @code{subscribed} (@pxref{(gnus)subscribed}) -group parameter set to a non-nil value. This is how you would do it. +the @code{subscribed} (@pxref{Group Parameters, ,Group Parameters, +gnus, The Gnus Manual}) group parameter set to a non-nil value. This +is how you would do it. @lisp (setq message-subscribed-address-functions -- 1.7.10.4