diff options
| author | Karoly Lorentey | 2005-04-04 16:43:15 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2005-04-04 16:43:15 +0000 |
| commit | ee00ea6e18c2aeae86e262fae703f67f4705032a (patch) | |
| tree | 9e7fc6bfb33de2b2f861589a2f7674ad35de85a8 /man | |
| parent | 4a932511428a2b61ec51deebd6e16ec1efbda800 (diff) | |
| parent | 8c6ef2ca34c444c1dea1f11b999b4b2ec16cdea3 (diff) | |
| download | emacs-ee00ea6e18c2aeae86e262fae703f67f4705032a.tar.gz emacs-ee00ea6e18c2aeae86e262fae703f67f4705032a.zip | |
Merged from miles@gnu.org--gnu-2005 (patch 45-55, 214-231)
Patches applied:
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-214
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-215
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-216
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-217
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-218
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-219
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-220
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-221
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-222
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-223
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-224
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-225
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-226
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-227
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-228
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-229
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-230
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-231
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-45
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-46
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-47
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-48
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-49
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-50
Update from CVS: texi Makefile.in CVS keyw cruft
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-51
Update from CVS: ChangeLog tweaks
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-52
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-53
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-54
Update from CVS
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-55
Update from CVS
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-324
Diffstat (limited to 'man')
| -rw-r--r-- | man/ChangeLog | 137 | ||||
| -rw-r--r-- | man/basic.texi | 63 | ||||
| -rw-r--r-- | man/building.texi | 26 | ||||
| -rw-r--r-- | man/calc.texi | 652 | ||||
| -rw-r--r-- | man/calendar.texi | 47 | ||||
| -rw-r--r-- | man/cmdargs.texi | 5 | ||||
| -rw-r--r-- | man/commands.texi | 4 | ||||
| -rw-r--r-- | man/custom.texi | 21 | ||||
| -rw-r--r-- | man/dired.texi | 34 | ||||
| -rw-r--r-- | man/emacs-mime.texi | 33 | ||||
| -rw-r--r-- | man/emacs.texi | 11 | ||||
| -rw-r--r-- | man/files.texi | 108 | ||||
| -rw-r--r-- | man/gnus-faq.texi | 3521 | ||||
| -rw-r--r-- | man/maintaining.texi | 21 | ||||
| -rw-r--r-- | man/message.texi | 2 | ||||
| -rw-r--r-- | man/misc.texi | 8 | ||||
| -rw-r--r-- | man/mule.texi | 39 | ||||
| -rw-r--r-- | man/org.texi | 107 | ||||
| -rw-r--r-- | man/programs.texi | 247 | ||||
| -rw-r--r-- | man/text.texi | 73 | ||||
| -rw-r--r-- | man/xresources.texi | 9 |
21 files changed, 2794 insertions, 2374 deletions
diff --git a/man/ChangeLog b/man/ChangeLog index 432fd8bad2c..eddd1e97741 100644 --- a/man/ChangeLog +++ b/man/ChangeLog | |||
| @@ -1,3 +1,138 @@ | |||
| 1 | 2005-04-04 Jay Belanger <belanger@truman.edu> | ||
| 2 | |||
| 3 | * calc.texi: Change Calc version number. | ||
| 4 | (Customizable variables): Fix description of calc-language-alist. | ||
| 5 | (Copying): Put in version 2 of GPL. | ||
| 6 | |||
| 7 | 2005-04-03 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 8 | |||
| 9 | * calendar.texi (Diary): Mention shell utility `calendar'. | ||
| 10 | |||
| 11 | 2005-04-01 Jay Belanger <belanger@truman.edu> | ||
| 12 | |||
| 13 | * calc.texi (Troubleshooting Commands): Remove comment about | ||
| 14 | installation. | ||
| 15 | (Installation): Remove section. | ||
| 16 | (Customizable Variables): New section. | ||
| 17 | (Basic Embedded Mode, Customizing Embedded Mode, Graphics) | ||
| 18 | (Graphical Devices): Add references to Customizable Variables. | ||
| 19 | |||
| 20 | 2005-04-01 Lute Kamstra <lute@gnu.org> | ||
| 21 | |||
| 22 | * maintaining.texi (Change Log): add-change-log-entry uses | ||
| 23 | add-log-mailing-address. | ||
| 24 | |||
| 25 | 2005-03-31 Luc Teirlinck <teirllm@auburn.edu> | ||
| 26 | |||
| 27 | * files.texi (Reverting): Move `auto-revert-check-vc-info' to | ||
| 28 | `VC Mode Line' and put in an xref to that node. | ||
| 29 | (VC Mode Line): Move `auto-revert-check-vc-info' here and clarify | ||
| 30 | its description. | ||
| 31 | |||
| 32 | 2005-03-31 Paul Eggert <eggert@cs.ucla.edu> | ||
| 33 | |||
| 34 | * calendar.texi (Calendar Systems): Say that the Persian calendar | ||
| 35 | implemented here is the arithmetical one championed by Birashk. | ||
| 36 | |||
| 37 | 2005-03-30 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 38 | |||
| 39 | * programs.texi (Fortran Motion): Fix previous change. | ||
| 40 | |||
| 41 | 2005-03-25 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 42 | |||
| 43 | * emacs-mime.texi (Display Customization): Markup fixes. | ||
| 44 | (rfc2047): Update. | ||
| 45 | |||
| 46 | 2005-03-23 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 47 | |||
| 48 | * gnus-faq.texi: Replaced with auto-generated version. | ||
| 49 | |||
| 50 | 2005-03-29 Richard M. Stallman <rms@gnu.org> | ||
| 51 | |||
| 52 | * mule.texi (Single-Byte Character Support): Reinstall the C-x 8 info. | ||
| 53 | |||
| 54 | 2005-03-29 Chong Yidong <cyd@stupidchicken.com> | ||
| 55 | |||
| 56 | * text.texi (Refill): Refer to Long Lines Mode. | ||
| 57 | (Longlines): New node. | ||
| 58 | (Auto Fill): Don't index "word wrap" here. | ||
| 59 | (Filling): Add Longlines to menu. | ||
| 60 | |||
| 61 | 2005-03-29 Richard M. Stallman <rms@gnu.org> | ||
| 62 | |||
| 63 | * xresources.texi: Minor fixes. | ||
| 64 | |||
| 65 | * misc.texi (Emacs Server): Fix Texinfo usage. | ||
| 66 | |||
| 67 | * emacs.texi (Top): Don't use a real section heading for | ||
| 68 | "Detailed Node Listing". Fake it instead. | ||
| 69 | |||
| 70 | * basic.texi (Position Info): Minor cleanup. | ||
| 71 | |||
| 72 | * mule.texi (Input Methods): Minor cleanup. | ||
| 73 | |||
| 74 | 2005-03-29 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 75 | |||
| 76 | * programs.texi (ForIndent Vars): `fortran-if-indent' does other | ||
| 77 | constructs as well. | ||
| 78 | (Fortran Motion): Add fortran-end-of-block, | ||
| 79 | fortran-beginning-of-block. | ||
| 80 | |||
| 81 | 2005-03-29 Kenichi Handa <handa@m17n.org> | ||
| 82 | |||
| 83 | * mule.texi (Input Methods): Refer to the command C-u C-x =. | ||
| 84 | |||
| 85 | * basic.texi (Position Info): Update the description about the | ||
| 86 | command C-u C-x =. | ||
| 87 | |||
| 88 | 2005-03-28 Richard M. Stallman <rms@gnu.org> | ||
| 89 | |||
| 90 | * emacs.texi (Top): Use @section for the detailed node listing. | ||
| 91 | |||
| 92 | * calendar.texi: Minor fixes to previous change. | ||
| 93 | |||
| 94 | * programs.texi (Fortran): Small fixes to previous changes. | ||
| 95 | |||
| 96 | * emacs.texi (Top): Update list of subnodes of Dired. | ||
| 97 | Likewise for building.texi. | ||
| 98 | |||
| 99 | * files.texi (File Conveniences): Delete Auto Image File mode. | ||
| 100 | |||
| 101 | 2005-03-28 Chong Yidong <cyd@stupidchicken.com> | ||
| 102 | |||
| 103 | * building.texi (Flymake): New node. | ||
| 104 | |||
| 105 | * custom.texi (Function Keys): Document kp- event types and | ||
| 106 | keypad-setup package. | ||
| 107 | |||
| 108 | * dired.texi (Wdired): New node. | ||
| 109 | |||
| 110 | * files.texi (File Conveniences): Reorder entries. | ||
| 111 | Explain how to turn on Auto-image-file mode. | ||
| 112 | Document Thumbs mode. | ||
| 113 | |||
| 114 | * mule.texi (Specify Coding): Document recode-region and | ||
| 115 | recode-file-name. | ||
| 116 | |||
| 117 | * programs.texi (Program Modes): Add Conf mode and DNS mode. | ||
| 118 | |||
| 119 | 2005-03-27 Luc Teirlinck <teirllm@auburn.edu> | ||
| 120 | |||
| 121 | * commands.texi (Keys): M-o is now a prefix key. | ||
| 122 | |||
| 123 | 2005-03-27 Glenn Morris <gmorris@ast.cam.ac.uk> | ||
| 124 | |||
| 125 | * programs.texi: Reformat and update copyright years. | ||
| 126 | (Fortran): Update section. | ||
| 127 | |||
| 128 | 2005-03-26 Luc Teirlinck <teirllm@auburn.edu> | ||
| 129 | |||
| 130 | * files.texi: Several small changes in addition to: | ||
| 131 | (Visiting): Change xref for Dialog Boxes to ref. | ||
| 132 | (Version Headers): Replace references to obsolete var | ||
| 133 | `vc-header-alist' with `vc-BACKEND-header'. | ||
| 134 | (Customizing VC): Update value of `vc-handled-backends'. | ||
| 135 | |||
| 1 | 2005-03-26 Glenn Morris <gmorris@ast.cam.ac.uk> | 136 | 2005-03-26 Glenn Morris <gmorris@ast.cam.ac.uk> |
| 2 | 137 | ||
| 3 | * emacs-xtra.texi (Advanced Calendar/Diary Usage): New section; | 138 | * emacs-xtra.texi (Advanced Calendar/Diary Usage): New section; |
| @@ -49,7 +184,7 @@ | |||
| 49 | * files.texi (Visiting): Fix cross-references introduced with the | 184 | * files.texi (Visiting): Fix cross-references introduced with the |
| 50 | last change. | 185 | last change. |
| 51 | 186 | ||
| 52 | * xresources.texi (GTK resources): Fix last change. | 187 | * xresources.texi (GTK resources): Fix last change. |
| 53 | 188 | ||
| 54 | 2005-03-26 Jay Belanger <belanger@truman.edu> | 189 | 2005-03-26 Jay Belanger <belanger@truman.edu> |
| 55 | 190 | ||
diff --git a/man/basic.texi b/man/basic.texi index 2f8c2bc1764..ad3cfbca88a 100644 --- a/man/basic.texi +++ b/man/basic.texi | |||
| @@ -677,36 +677,57 @@ point=26957 of 26956(100%) column 0 | |||
| 677 | @cindex character set of character at point | 677 | @cindex character set of character at point |
| 678 | @cindex font of character at point | 678 | @cindex font of character at point |
| 679 | @cindex text properties at point | 679 | @cindex text properties at point |
| 680 | @w{@kbd{C-u C-x =}} displays additional information about a | 680 | @w{@kbd{C-u C-x =}} displays these additional information about a |
| 681 | character, including the character set name and the codes that | 681 | character. |
| 682 | identify the character within that character set; @acronym{ASCII} characters are | 682 | |
| 683 | identified as belonging to the @code{ascii} character set. It also | 683 | @itemize @bullet |
| 684 | shows the character's syntax, categories, and encodings both | 684 | @item |
| 685 | internally in the buffer and externally if you save the file. It also | 685 | The character set name, and the codes that identify the character |
| 686 | shows the character's text properties (@pxref{Text Properties,,, | 686 | within that character set; @acronym{ASCII} characters are identified |
| 687 | as belonging to the @code{ascii} character set. | ||
| 688 | |||
| 689 | @item | ||
| 690 | The character's syntax and categories. | ||
| 691 | |||
| 692 | @item | ||
| 693 | The character's encodings, both internally in the buffer, and externally | ||
| 694 | if you were to save the file. | ||
| 695 | |||
| 696 | @item | ||
| 697 | What to type to input the character in the current input method | ||
| 698 | (if it supports the character). | ||
| 699 | |||
| 700 | @item | ||
| 701 | If you are running Emacs on a window system, the font name and glyph | ||
| 702 | code for the character. If you are running Emacs on a terminal, the | ||
| 703 | code(s) sent to the terminal. | ||
| 704 | |||
| 705 | @item | ||
| 706 | The character's text properties (@pxref{Text Properties,,, | ||
| 687 | elisp, the Emacs Lisp Reference Manual}), and any overlays containing it | 707 | elisp, the Emacs Lisp Reference Manual}), and any overlays containing it |
| 688 | (@pxref{Overlays,,, elisp, the same manual}). | 708 | (@pxref{Overlays,,, elisp, the same manual}). |
| 709 | @end itemize | ||
| 689 | 710 | ||
| 690 | Here's an example showing the Latin-1 character A with grave accent, | 711 | Here's an example showing the Latin-1 character A with grave accent, |
| 691 | in a buffer whose coding system is @code{iso-2022-7bit}, whose | 712 | in a buffer whose coding system is @code{iso-latin-1}, whose |
| 692 | terminal coding system is @code{iso-latin-1} (so the terminal actually | 713 | terminal coding system is @code{iso-latin-1} (so the terminal actually |
| 693 | displays the character as @samp{@`A}), and which has font-lock-mode | 714 | displays the character as @samp{@`A}), and which has font-lock-mode |
| 694 | (@pxref{Font Lock}) enabled: | 715 | (@pxref{Font Lock}) enabled: |
| 695 | 716 | ||
| 696 | @smallexample | 717 | @smallexample |
| 697 | character: @`A (04300, 2240, 0x8c0) | 718 | character: @`A (04300, 2240, 0x8c0, U+00C0) |
| 698 | charset: latin-iso8859-1 | 719 | charset: latin-iso8859-1 |
| 699 | (Right-Hand Part of Latin Alphabet 1@dots{} | 720 | (Right-Hand Part of Latin Alphabet 1@dots{} |
| 700 | code point: 64 | 721 | code point: 64 |
| 701 | syntax: w which means: word | 722 | syntax: w which means: word |
| 702 | category: l:Latin | 723 | category: l:Latin |
| 703 | buffer code: 0x81 0xC0 | 724 | to input: type "`A" |
| 704 | file code: ESC 2C 41 40 (encoded by coding system iso-2022-7bit) | 725 | buffer code: 0x81 0xC0 |
| 705 | terminal code: C0 | 726 | file code: ESC 2C 41 40 (encoded by coding system iso-2022-7bit) |
| 706 | 727 | display: terminal code 0xC0 | |
| 707 | Text properties | 728 | |
| 708 | font-lock-face: font-lock-variable-name-face | 729 | There are text properties here: |
| 709 | fontified: t | 730 | fontified t |
| 710 | @end smallexample | 731 | @end smallexample |
| 711 | 732 | ||
| 712 | @node Arguments | 733 | @node Arguments |
diff --git a/man/building.texi b/man/building.texi index 50490e34dd5..10b7b8053d2 100644 --- a/man/building.texi +++ b/man/building.texi | |||
| @@ -18,6 +18,7 @@ in the larger process of developing and maintaining programs. | |||
| 18 | * Compilation Shell:: Customizing your shell properly | 18 | * Compilation Shell:: Customizing your shell properly |
| 19 | for use in the compilation buffer. | 19 | for use in the compilation buffer. |
| 20 | * Grep Searching:: Searching with grep. | 20 | * Grep Searching:: Searching with grep. |
| 21 | * Flymake:: Finding syntax errors on the fly. | ||
| 21 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. | 22 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. |
| 22 | * Executing Lisp:: Various modes for editing Lisp programs, | 23 | * Executing Lisp:: Various modes for editing Lisp programs, |
| 23 | with different facilities for running | 24 | with different facilities for running |
| @@ -337,6 +338,31 @@ initial default for the command---one that runs both @code{find} and | |||
| 337 | @code{grep}, so as to search every file in a directory tree. See also | 338 | @code{grep}, so as to search every file in a directory tree. See also |
| 338 | the @code{find-grep-dired} command, in @ref{Dired and Find}. | 339 | the @code{find-grep-dired} command, in @ref{Dired and Find}. |
| 339 | 340 | ||
| 341 | @node Flymake | ||
| 342 | @section Finding Syntax Errors On The Fly | ||
| 343 | @cindex checking syntax | ||
| 344 | |||
| 345 | Flymake mode is a minor mode that performs on-the-fly syntax | ||
| 346 | checking for many programming and markup languages, including C, C++, | ||
| 347 | Perl, HTML, and @TeX{}/La@TeX{}. It is somewhat analogous to Flyspell | ||
| 348 | mode, which performs spell checking for ordinary human languages in a | ||
| 349 | similar fashion (@pxref{Spelling}). As you edit a file, Flymake mode | ||
| 350 | runs an appropriate syntax checking tool in the background, using a | ||
| 351 | temporary copy of the buffer. It then parses the error and warning | ||
| 352 | messages, and highlights the erroneous lines in the buffer. The | ||
| 353 | syntax checking tool used depends on the language; for example, for | ||
| 354 | C/C++ files this is usually the C compiler. Flymake can also use | ||
| 355 | build tools such as @code{make} for checking complicated projects. | ||
| 356 | |||
| 357 | To activate Flymake mode, type @kbd{M-x flymake-mode}. You can move | ||
| 358 | to the errors spotted by Flymake mode with @kbd{M-x | ||
| 359 | flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}. To | ||
| 360 | display any error messages associated with the current line, use | ||
| 361 | @kbd{M-x flymake-display-err-menu-for-current-line}. | ||
| 362 | |||
| 363 | For more details about using Flymake, see @ref{Top, Flymake, | ||
| 364 | Flymake, flymake, The Flymake Manual}. | ||
| 365 | |||
| 340 | @node Debuggers | 366 | @node Debuggers |
| 341 | @section Running Debuggers Under Emacs | 367 | @section Running Debuggers Under Emacs |
| 342 | @cindex debuggers | 368 | @cindex debuggers |
diff --git a/man/calc.texi b/man/calc.texi index 07c33206f28..0cd28e5bf8a 100644 --- a/man/calc.texi +++ b/man/calc.texi | |||
| @@ -3,7 +3,7 @@ | |||
| 3 | @c smallbook | 3 | @c smallbook |
| 4 | @setfilename ../info/calc | 4 | @setfilename ../info/calc |
| 5 | @c [title] | 5 | @c [title] |
| 6 | @settitle GNU Emacs Calc 2.02g Manual | 6 | @settitle GNU Emacs Calc 2.1 Manual |
| 7 | @setchapternewpage odd | 7 | @setchapternewpage odd |
| 8 | @comment %**end of header (This is for running Texinfo on a region.) | 8 | @comment %**end of header (This is for running Texinfo on a region.) |
| 9 | 9 | ||
| @@ -108,7 +108,7 @@ Software Foundation raise funds for GNU development.'' | |||
| 108 | @sp 6 | 108 | @sp 6 |
| 109 | @center @titlefont{Calc Manual} | 109 | @center @titlefont{Calc Manual} |
| 110 | @sp 4 | 110 | @sp 4 |
| 111 | @center GNU Emacs Calc Version 2.02g | 111 | @center GNU Emacs Calc Version 2.1 |
| 112 | @c [volume] | 112 | @c [volume] |
| 113 | @sp 1 | 113 | @sp 1 |
| 114 | @center March 2005 | 114 | @center March 2005 |
| @@ -165,7 +165,7 @@ longer Info tutorial.) | |||
| 165 | * Embedded Mode:: Working with formulas embedded in a file. | 165 | * Embedded Mode:: Working with formulas embedded in a file. |
| 166 | * Programming:: Calc as a programmable calculator. | 166 | * Programming:: Calc as a programmable calculator. |
| 167 | 167 | ||
| 168 | * Installation:: Installing Calc as a part of GNU Emacs. | 168 | * Customizable Variables:: Customizable Variables. |
| 169 | * Reporting Bugs:: How to report bugs and make suggestions. | 169 | * Reporting Bugs:: How to report bugs and make suggestions. |
| 170 | 170 | ||
| 171 | * Summary:: Summary of Calc commands and functions. | 171 | * Summary:: Summary of Calc commands and functions. |
| @@ -180,11 +180,13 @@ longer Info tutorial.) | |||
| 180 | 180 | ||
| 181 | @node Copying, Getting Started, Top, Top | 181 | @node Copying, Getting Started, Top, Top |
| 182 | @unnumbered GNU GENERAL PUBLIC LICENSE | 182 | @unnumbered GNU GENERAL PUBLIC LICENSE |
| 183 | @center Version 1, February 1989 | 183 | @center Version 2, June 1991 |
| 184 | |||
| 185 | @c This file is intended to be included in another file. | ||
| 184 | 186 | ||
| 185 | @display | 187 | @display |
| 186 | Copyright @copyright{} 1989 Free Software Foundation, Inc. | 188 | Copyright @copyright{} 1989, 1991 Free Software Foundation, Inc. |
| 187 | 675 Mass Ave, Cambridge, MA 02139, USA | 189 | 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA |
| 188 | 190 | ||
| 189 | Everyone is permitted to copy and distribute verbatim copies | 191 | Everyone is permitted to copy and distribute verbatim copies |
| 190 | of this license document, but changing it is not allowed. | 192 | of this license document, but changing it is not allowed. |
| @@ -192,30 +194,33 @@ of this license document, but changing it is not allowed. | |||
| 192 | 194 | ||
| 193 | @unnumberedsec Preamble | 195 | @unnumberedsec Preamble |
| 194 | 196 | ||
| 195 | The license agreements of most software companies try to keep users | 197 | The licenses for most software are designed to take away your |
| 196 | at the mercy of those companies. By contrast, our General Public | 198 | freedom to share and change it. By contrast, the GNU General Public |
| 197 | License is intended to guarantee your freedom to share and change free | 199 | License is intended to guarantee your freedom to share and change free |
| 198 | software---to make sure the software is free for all its users. The | 200 | software---to make sure the software is free for all its users. This |
| 199 | General Public License applies to the Free Software Foundation's | 201 | General Public License applies to most of the Free Software |
| 200 | software and to any other program whose authors commit to using it. | 202 | Foundation's software and to any other program whose authors commit to |
| 201 | You can use it for your programs, too. | 203 | using it. (Some other Free Software Foundation software is covered by |
| 204 | the GNU Library General Public License instead.) You can apply it to | ||
| 205 | your programs, too. | ||
| 202 | 206 | ||
| 203 | When we speak of free software, we are referring to freedom, not | 207 | When we speak of free software, we are referring to freedom, not |
| 204 | price. Specifically, the General Public License is designed to make | 208 | price. Our General Public Licenses are designed to make sure that you |
| 205 | sure that you have the freedom to give away or sell copies of free | 209 | have the freedom to distribute copies of free software (and charge for |
| 206 | software, that you receive source code or can get it if you want it, | 210 | this service if you wish), that you receive source code or can get it |
| 207 | that you can change the software or use pieces of it in new free | 211 | if you want it, that you can change the software or use pieces of it |
| 208 | programs; and that you know you can do these things. | 212 | in new free programs; and that you know you can do these things. |
| 209 | 213 | ||
| 210 | To protect your rights, we need to make restrictions that forbid | 214 | To protect your rights, we need to make restrictions that forbid |
| 211 | anyone to deny you these rights or to ask you to surrender the rights. | 215 | anyone to deny you these rights or to ask you to surrender the rights. |
| 212 | These restrictions translate to certain responsibilities for you if you | 216 | These restrictions translate to certain responsibilities for you if you |
| 213 | distribute copies of the software, or if you modify it. | 217 | distribute copies of the software, or if you modify it. |
| 214 | 218 | ||
| 215 | For example, if you distribute copies of a such a program, whether | 219 | For example, if you distribute copies of such a program, whether |
| 216 | gratis or for a fee, you must give the recipients all the rights that | 220 | gratis or for a fee, you must give the recipients all the rights that |
| 217 | you have. You must make sure that they, too, receive or can get the | 221 | you have. You must make sure that they, too, receive or can get the |
| 218 | source code. And you must tell them their rights. | 222 | source code. And you must show them these terms so they know their |
| 223 | rights. | ||
| 219 | 224 | ||
| 220 | We protect your rights with two steps: (1) copyright the software, and | 225 | We protect your rights with two steps: (1) copyright the software, and |
| 221 | (2) offer you this license which gives you legal permission to copy, | 226 | (2) offer you this license which gives you legal permission to copy, |
| @@ -228,128 +233,216 @@ want its recipients to know that what they have is not the original, so | |||
| 228 | that any problems introduced by others will not reflect on the original | 233 | that any problems introduced by others will not reflect on the original |
| 229 | authors' reputations. | 234 | authors' reputations. |
| 230 | 235 | ||
| 236 | Finally, any free program is threatened constantly by software | ||
| 237 | patents. We wish to avoid the danger that redistributors of a free | ||
| 238 | program will individually obtain patent licenses, in effect making the | ||
| 239 | program proprietary. To prevent this, we have made it clear that any | ||
| 240 | patent must be licensed for everyone's free use or not licensed at all. | ||
| 241 | |||
| 231 | The precise terms and conditions for copying, distribution and | 242 | The precise terms and conditions for copying, distribution and |
| 232 | modification follow. | 243 | modification follow. |
| 233 | 244 | ||
| 234 | @iftex | 245 | @iftex |
| 235 | @unnumberedsec TERMS AND CONDITIONS | 246 | @unnumberedsec TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
| 236 | @end iftex | 247 | @end iftex |
| 237 | @ifinfo | 248 | @ifinfo |
| 238 | @center TERMS AND CONDITIONS | 249 | @center TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
| 239 | @end ifinfo | 250 | @end ifinfo |
| 240 | 251 | ||
| 241 | @enumerate | 252 | @enumerate 0 |
| 242 | @item | 253 | @item |
| 243 | This License Agreement applies to any program or other work which | 254 | This License applies to any program or other work which contains |
| 244 | contains a notice placed by the copyright holder saying it may be | 255 | a notice placed by the copyright holder saying it may be distributed |
| 245 | distributed under the terms of this General Public License. The | 256 | under the terms of this General Public License. The ``Program'', below, |
| 246 | ``Program'', below, refers to any such program or work, and a ``work based | 257 | refers to any such program or work, and a ``work based on the Program'' |
| 247 | on the Program'' means either the Program or any work containing the | 258 | means either the Program or any derivative work under copyright law: |
| 248 | Program or a portion of it, either verbatim or with modifications. Each | 259 | that is to say, a work containing the Program or a portion of it, |
| 249 | licensee is addressed as ``you''. | 260 | either verbatim or with modifications and/or translated into another |
| 261 | language. (Hereinafter, translation is included without limitation in | ||
| 262 | the term ``modification''.) Each licensee is addressed as ``you''. | ||
| 263 | |||
| 264 | Activities other than copying, distribution and modification are not | ||
| 265 | covered by this License; they are outside its scope. The act of | ||
| 266 | running the Program is not restricted, and the output from the Program | ||
| 267 | is covered only if its contents constitute a work based on the | ||
| 268 | Program (independent of having been made by running the Program). | ||
| 269 | Whether that is true depends on what the Program does. | ||
| 250 | 270 | ||
| 251 | @item | 271 | @item |
| 252 | You may copy and distribute verbatim copies of the Program's source | 272 | You may copy and distribute verbatim copies of the Program's |
| 253 | code as you receive it, in any medium, provided that you conspicuously and | 273 | source code as you receive it, in any medium, provided that you |
| 254 | appropriately publish on each copy an appropriate copyright notice and | 274 | conspicuously and appropriately publish on each copy an appropriate |
| 255 | disclaimer of warranty; keep intact all the notices that refer to this | 275 | copyright notice and disclaimer of warranty; keep intact all the |
| 256 | General Public License and to the absence of any warranty; and give any | 276 | notices that refer to this License and to the absence of any warranty; |
| 257 | other recipients of the Program a copy of this General Public License | 277 | and give any other recipients of the Program a copy of this License |
| 258 | along with the Program. You may charge a fee for the physical act of | 278 | along with the Program. |
| 259 | transferring a copy. | ||
| 260 | 279 | ||
| 261 | @item | 280 | You may charge a fee for the physical act of transferring a copy, and |
| 262 | You may modify your copy or copies of the Program or any portion of | 281 | you may at your option offer warranty protection in exchange for a fee. |
| 263 | it, and copy and distribute such modifications under the terms of Paragraph | ||
| 264 | 1 above, provided that you also do the following: | ||
| 265 | 282 | ||
| 266 | @itemize @bullet | ||
| 267 | @item | 283 | @item |
| 268 | cause the modified files to carry prominent notices stating that | 284 | You may modify your copy or copies of the Program or any portion |
| 269 | you changed the files and the date of any change; and | 285 | of it, thus forming a work based on the Program, and copy and |
| 286 | distribute such modifications or work under the terms of Section 1 | ||
| 287 | above, provided that you also meet all of these conditions: | ||
| 270 | 288 | ||
| 289 | @enumerate a | ||
| 271 | @item | 290 | @item |
| 272 | cause the whole of any work that you distribute or publish, that | 291 | You must cause the modified files to carry prominent notices |
| 273 | in whole or in part contains the Program or any part thereof, either | 292 | stating that you changed the files and the date of any change. |
| 274 | with or without modifications, to be licensed at no charge to all | ||
| 275 | third parties under the terms of this General Public License (except | ||
| 276 | that you may choose to grant warranty protection to some or all | ||
| 277 | third parties, at your option). | ||
| 278 | 293 | ||
| 279 | @item | 294 | @item |
| 280 | If the modified program normally reads commands interactively when | 295 | You must cause any work that you distribute or publish, that in |
| 281 | run, you must cause it, when started running for such interactive use | 296 | whole or in part contains or is derived from the Program or any |
| 282 | in the simplest and most usual way, to print or display an | 297 | part thereof, to be licensed as a whole at no charge to all third |
| 283 | announcement including an appropriate copyright notice and a notice | 298 | parties under the terms of this License. |
| 284 | that there is no warranty (or else, saying that you provide a | ||
| 285 | warranty) and that users may redistribute the program under these | ||
| 286 | conditions, and telling the user how to view a copy of this General | ||
| 287 | Public License. | ||
| 288 | 299 | ||
| 289 | @item | 300 | @item |
| 290 | You may charge a fee for the physical act of transferring a | 301 | If the modified program normally reads commands interactively |
| 291 | copy, and you may at your option offer warranty protection in | 302 | when run, you must cause it, when started running for such |
| 292 | exchange for a fee. | 303 | interactive use in the most ordinary way, to print or display an |
| 293 | @end itemize | 304 | announcement including an appropriate copyright notice and a |
| 305 | notice that there is no warranty (or else, saying that you provide | ||
| 306 | a warranty) and that users may redistribute the program under | ||
| 307 | these conditions, and telling the user how to view a copy of this | ||
| 308 | License. (Exception: if the Program itself is interactive but | ||
| 309 | does not normally print such an announcement, your work based on | ||
| 310 | the Program is not required to print an announcement.) | ||
| 311 | @end enumerate | ||
| 294 | 312 | ||
| 295 | Mere aggregation of another independent work with the Program (or its | 313 | These requirements apply to the modified work as a whole. If |
| 296 | derivative) on a volume of a storage or distribution medium does not bring | 314 | identifiable sections of that work are not derived from the Program, |
| 297 | the other work under the scope of these terms. | 315 | and can be reasonably considered independent and separate works in |
| 316 | themselves, then this License, and its terms, do not apply to those | ||
| 317 | sections when you distribute them as separate works. But when you | ||
| 318 | distribute the same sections as part of a whole which is a work based | ||
| 319 | on the Program, the distribution of the whole must be on the terms of | ||
| 320 | this License, whose permissions for other licensees extend to the | ||
| 321 | entire whole, and thus to each and every part regardless of who wrote it. | ||
| 322 | |||
| 323 | Thus, it is not the intent of this section to claim rights or contest | ||
| 324 | your rights to work written entirely by you; rather, the intent is to | ||
| 325 | exercise the right to control the distribution of derivative or | ||
| 326 | collective works based on the Program. | ||
| 327 | |||
| 328 | In addition, mere aggregation of another work not based on the Program | ||
| 329 | with the Program (or with a work based on the Program) on a volume of | ||
| 330 | a storage or distribution medium does not bring the other work under | ||
| 331 | the scope of this License. | ||
| 298 | 332 | ||
| 299 | @item | 333 | @item |
| 300 | You may copy and distribute the Program (or a portion or derivative of | 334 | You may copy and distribute the Program (or a work based on it, |
| 301 | it, under Paragraph 2) in object code or executable form under the terms of | 335 | under Section 2) in object code or executable form under the terms of |
| 302 | Paragraphs 1 and 2 above provided that you also do one of the following: | 336 | Sections 1 and 2 above provided that you also do one of the following: |
| 303 | 337 | ||
| 304 | @itemize @bullet | 338 | @enumerate a |
| 305 | @item | 339 | @item |
| 306 | accompany it with the complete corresponding machine-readable | 340 | Accompany it with the complete corresponding machine-readable |
| 307 | source code, which must be distributed under the terms of | 341 | source code, which must be distributed under the terms of Sections |
| 308 | Paragraphs 1 and 2 above; or, | 342 | 1 and 2 above on a medium customarily used for software interchange; or, |
| 309 | 343 | ||
| 310 | @item | 344 | @item |
| 311 | accompany it with a written offer, valid for at least three | 345 | Accompany it with a written offer, valid for at least three |
| 312 | years, to give any third party free (except for a nominal charge | 346 | years, to give any third party, for a charge no more than your |
| 313 | for the cost of distribution) a complete machine-readable copy of the | 347 | cost of physically performing source distribution, a complete |
| 314 | corresponding source code, to be distributed under the terms of | 348 | machine-readable copy of the corresponding source code, to be |
| 315 | Paragraphs 1 and 2 above; or, | 349 | distributed under the terms of Sections 1 and 2 above on a medium |
| 350 | customarily used for software interchange; or, | ||
| 316 | 351 | ||
| 317 | @item | 352 | @item |
| 318 | accompany it with the information you received as to where the | 353 | Accompany it with the information you received as to the offer |
| 319 | corresponding source code may be obtained. (This alternative is | 354 | to distribute corresponding source code. (This alternative is |
| 320 | allowed only for noncommercial distribution and only if you | 355 | allowed only for noncommercial distribution and only if you |
| 321 | received the program in object code or executable form alone.) | 356 | received the program in object code or executable form with such |
| 322 | @end itemize | 357 | an offer, in accord with Subsection b above.) |
| 358 | @end enumerate | ||
| 323 | 359 | ||
| 324 | Source code for a work means the preferred form of the work for making | 360 | The source code for a work means the preferred form of the work for |
| 325 | modifications to it. For an executable file, complete source code means | 361 | making modifications to it. For an executable work, complete source |
| 326 | all the source code for all modules it contains; but, as a special | 362 | code means all the source code for all modules it contains, plus any |
| 327 | exception, it need not include source code for modules which are standard | 363 | associated interface definition files, plus the scripts used to |
| 328 | libraries that accompany the operating system on which the executable | 364 | control compilation and installation of the executable. However, as a |
| 329 | file runs, or for standard header files or definitions files that | 365 | special exception, the source code distributed need not include |
| 330 | accompany that operating system. | 366 | anything that is normally distributed (in either source or binary |
| 367 | form) with the major components (compiler, kernel, and so on) of the | ||
| 368 | operating system on which the executable runs, unless that component | ||
| 369 | itself accompanies the executable. | ||
| 370 | |||
| 371 | If distribution of executable or object code is made by offering | ||
| 372 | access to copy from a designated place, then offering equivalent | ||
| 373 | access to copy the source code from the same place counts as | ||
| 374 | distribution of the source code, even though third parties are not | ||
| 375 | compelled to copy the source along with the object code. | ||
| 331 | 376 | ||
| 332 | @item | 377 | @item |
| 333 | You may not copy, modify, sublicense, distribute or transfer the | 378 | You may not copy, modify, sublicense, or distribute the Program |
| 334 | Program except as expressly provided under this General Public License. | 379 | except as expressly provided under this License. Any attempt |
| 335 | Any attempt otherwise to copy, modify, sublicense, distribute or transfer | 380 | otherwise to copy, modify, sublicense or distribute the Program is |
| 336 | the Program is void, and will automatically terminate your rights to use | 381 | void, and will automatically terminate your rights under this License. |
| 337 | the Program under this License. However, parties who have received | 382 | However, parties who have received copies, or rights, from you under |
| 338 | copies, or rights to use copies, from you under this General Public | 383 | this License will not have their licenses terminated so long as such |
| 339 | License will not have their licenses terminated so long as such parties | 384 | parties remain in full compliance. |
| 340 | remain in full compliance. | ||
| 341 | 385 | ||
| 342 | @item | 386 | @item |
| 343 | By copying, distributing or modifying the Program (or any work based | 387 | You are not required to accept this License, since you have not |
| 344 | on the Program) you indicate your acceptance of this license to do so, | 388 | signed it. However, nothing else grants you permission to modify or |
| 345 | and all its terms and conditions. | 389 | distribute the Program or its derivative works. These actions are |
| 390 | prohibited by law if you do not accept this License. Therefore, by | ||
| 391 | modifying or distributing the Program (or any work based on the | ||
| 392 | Program), you indicate your acceptance of this License to do so, and | ||
| 393 | all its terms and conditions for copying, distributing or modifying | ||
| 394 | the Program or works based on it. | ||
| 346 | 395 | ||
| 347 | @item | 396 | @item |
| 348 | Each time you redistribute the Program (or any work based on the | 397 | Each time you redistribute the Program (or any work based on the |
| 349 | Program), the recipient automatically receives a license from the original | 398 | Program), the recipient automatically receives a license from the |
| 350 | licensor to copy, distribute or modify the Program subject to these | 399 | original licensor to copy, distribute or modify the Program subject to |
| 351 | terms and conditions. You may not impose any further restrictions on the | 400 | these terms and conditions. You may not impose any further |
| 352 | recipients' exercise of the rights granted herein. | 401 | restrictions on the recipients' exercise of the rights granted herein. |
| 402 | You are not responsible for enforcing compliance by third parties to | ||
| 403 | this License. | ||
| 404 | |||
| 405 | @item | ||
| 406 | If, as a consequence of a court judgment or allegation of patent | ||
| 407 | infringement or for any other reason (not limited to patent issues), | ||
| 408 | conditions are imposed on you (whether by court order, agreement or | ||
| 409 | otherwise) that contradict the conditions of this License, they do not | ||
| 410 | excuse you from the conditions of this License. If you cannot | ||
| 411 | distribute so as to satisfy simultaneously your obligations under this | ||
| 412 | License and any other pertinent obligations, then as a consequence you | ||
| 413 | may not distribute the Program at all. For example, if a patent | ||
| 414 | license would not permit royalty-free redistribution of the Program by | ||
| 415 | all those who receive copies directly or indirectly through you, then | ||
| 416 | the only way you could satisfy both it and this License would be to | ||
| 417 | refrain entirely from distribution of the Program. | ||
| 418 | |||
| 419 | If any portion of this section is held invalid or unenforceable under | ||
| 420 | any particular circumstance, the balance of the section is intended to | ||
| 421 | apply and the section as a whole is intended to apply in other | ||
| 422 | circumstances. | ||
| 423 | |||
| 424 | It is not the purpose of this section to induce you to infringe any | ||
| 425 | patents or other property right claims or to contest validity of any | ||
| 426 | such claims; this section has the sole purpose of protecting the | ||
| 427 | integrity of the free software distribution system, which is | ||
| 428 | implemented by public license practices. Many people have made | ||
| 429 | generous contributions to the wide range of software distributed | ||
| 430 | through that system in reliance on consistent application of that | ||
| 431 | system; it is up to the author/donor to decide if he or she is willing | ||
| 432 | to distribute software through any other system and a licensee cannot | ||
| 433 | impose that choice. | ||
| 434 | |||
| 435 | This section is intended to make thoroughly clear what is believed to | ||
| 436 | be a consequence of the rest of this License. | ||
| 437 | |||
| 438 | @item | ||
| 439 | If the distribution and/or use of the Program is restricted in | ||
| 440 | certain countries either by patents or by copyrighted interfaces, the | ||
| 441 | original copyright holder who places the Program under this License | ||
| 442 | may add an explicit geographical distribution limitation excluding | ||
| 443 | those countries, so that distribution is permitted only in or among | ||
| 444 | countries not thus excluded. In such case, this License incorporates | ||
| 445 | the limitation as if written in the body of this License. | ||
| 353 | 446 | ||
| 354 | @item | 447 | @item |
| 355 | The Free Software Foundation may publish revised and/or new versions | 448 | The Free Software Foundation may publish revised and/or new versions |
| @@ -358,11 +451,11 @@ be similar in spirit to the present version, but may differ in detail to | |||
| 358 | address new problems or concerns. | 451 | address new problems or concerns. |
| 359 | 452 | ||
| 360 | Each version is given a distinguishing version number. If the Program | 453 | Each version is given a distinguishing version number. If the Program |
| 361 | specifies a version number of the license which applies to it and ``any | 454 | specifies a version number of this License which applies to it and ``any |
| 362 | later version'', you have the option of following the terms and conditions | 455 | later version'', you have the option of following the terms and conditions |
| 363 | either of that version or of any later version published by the Free | 456 | either of that version or of any later version published by the Free |
| 364 | Software Foundation. If the Program does not specify a version number of | 457 | Software Foundation. If the Program does not specify a version number of |
| 365 | the license, you may choose any version ever published by the Free Software | 458 | this License, you may choose any version ever published by the Free Software |
| 366 | Foundation. | 459 | Foundation. |
| 367 | 460 | ||
| 368 | @item | 461 | @item |
| @@ -393,17 +486,91 @@ PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | |||
| 393 | REPAIR OR CORRECTION. | 486 | REPAIR OR CORRECTION. |
| 394 | 487 | ||
| 395 | @item | 488 | @item |
| 396 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL | 489 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING |
| 397 | ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | 490 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR |
| 398 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | 491 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, |
| 399 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES | 492 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING |
| 400 | ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT | 493 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED |
| 401 | LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES | 494 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY |
| 402 | SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE | 495 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER |
| 403 | WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN | 496 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE |
| 404 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. | 497 | POSSIBILITY OF SUCH DAMAGES. |
| 405 | @end enumerate | 498 | @end enumerate |
| 406 | 499 | ||
| 500 | @iftex | ||
| 501 | @heading END OF TERMS AND CONDITIONS | ||
| 502 | @end iftex | ||
| 503 | @ifinfo | ||
| 504 | @center END OF TERMS AND CONDITIONS | ||
| 505 | @end ifinfo | ||
| 506 | |||
| 507 | @page | ||
| 508 | @unnumberedsec Appendix: How to Apply These Terms to Your New Programs | ||
| 509 | |||
| 510 | If you develop a new program, and you want it to be of the greatest | ||
| 511 | possible use to the public, the best way to achieve this is to make it | ||
| 512 | free software which everyone can redistribute and change under these terms. | ||
| 513 | |||
| 514 | To do so, attach the following notices to the program. It is safest | ||
| 515 | to attach them to the start of each source file to most effectively | ||
| 516 | convey the exclusion of warranty; and each file should have at least | ||
| 517 | the ``copyright'' line and a pointer to where the full notice is found. | ||
| 518 | |||
| 519 | @smallexample | ||
| 520 | @var{one line to give the program's name and a brief idea of what it does.} | ||
| 521 | Copyright (C) @var{yyyy} @var{name of author} | ||
| 522 | |||
| 523 | This program is free software; you can redistribute it and/or modify | ||
| 524 | it under the terms of the GNU General Public License as published by | ||
| 525 | the Free Software Foundation; either version 2 of the License, or | ||
| 526 | (at your option) any later version. | ||
| 527 | |||
| 528 | This program is distributed in the hope that it will be useful, | ||
| 529 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 530 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 531 | GNU General Public License for more details. | ||
| 532 | |||
| 533 | You should have received a copy of the GNU General Public License | ||
| 534 | along with this program; if not, write to the Free Software | ||
| 535 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | ||
| 536 | @end smallexample | ||
| 537 | |||
| 538 | Also add information on how to contact you by electronic and paper mail. | ||
| 539 | |||
| 540 | If the program is interactive, make it output a short notice like this | ||
| 541 | when it starts in an interactive mode: | ||
| 542 | |||
| 543 | @smallexample | ||
| 544 | Gnomovision version 69, Copyright (C) 19@var{yy} @var{name of author} | ||
| 545 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||
| 546 | This is free software, and you are welcome to redistribute it | ||
| 547 | under certain conditions; type `show c' for details. | ||
| 548 | @end smallexample | ||
| 549 | |||
| 550 | The hypothetical commands @samp{show w} and @samp{show c} should show | ||
| 551 | the appropriate parts of the General Public License. Of course, the | ||
| 552 | commands you use may be called something other than @samp{show w} and | ||
| 553 | @samp{show c}; they could even be mouse-clicks or menu items---whatever | ||
| 554 | suits your program. | ||
| 555 | |||
| 556 | You should also get your employer (if you work as a programmer) or your | ||
| 557 | school, if any, to sign a ``copyright disclaimer'' for the program, if | ||
| 558 | necessary. Here is a sample; alter the names: | ||
| 559 | |||
| 560 | @example | ||
| 561 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||
| 562 | `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||
| 563 | |||
| 564 | @var{signature of Ty Coon}, 1 April 1989 | ||
| 565 | Ty Coon, President of Vice | ||
| 566 | @end example | ||
| 567 | |||
| 568 | This General Public License does not permit incorporating your program into | ||
| 569 | proprietary programs. If your program is a subroutine library, you may | ||
| 570 | consider it more useful to permit linking proprietary applications with the | ||
| 571 | library. If this is what you want to do, use the GNU Library General | ||
| 572 | Public License instead of this License. | ||
| 573 | |||
| 407 | @node Getting Started, Tutorial, Copying, Top | 574 | @node Getting Started, Tutorial, Copying, Top |
| 408 | @chapter Getting Started | 575 | @chapter Getting Started |
| 409 | @noindent | 576 | @noindent |
| @@ -10613,11 +10780,6 @@ If this happens, the easiest workaround is to type @kbd{M-# L} | |||
| 10613 | loaded right away. This will cause Emacs to take up a lot more | 10780 | loaded right away. This will cause Emacs to take up a lot more |
| 10614 | memory than it would otherwise, but it's guaranteed to fix the problem. | 10781 | memory than it would otherwise, but it's guaranteed to fix the problem. |
| 10615 | 10782 | ||
| 10616 | If you seem to run into this problem no matter what you do, or if | ||
| 10617 | even the @kbd{M-# L} command crashes, Calc may have been improperly | ||
| 10618 | installed. @xref{Installation}, for details of the installation | ||
| 10619 | process. | ||
| 10620 | |||
| 10621 | @node Recursion Depth, Caches, Autoloading Problems, Troubleshooting Commands | 10783 | @node Recursion Depth, Caches, Autoloading Problems, Troubleshooting Commands |
| 10622 | @subsection Recursion Depth | 10784 | @subsection Recursion Depth |
| 10623 | 10785 | ||
| @@ -12306,7 +12468,7 @@ if this file exists, and this file becomes the one that Calc will | |||
| 12306 | use in the future for commands like @kbd{m m}. The default settings | 12468 | use in the future for commands like @kbd{m m}. The default settings |
| 12307 | file name is @file{~/.calc.el}. You can see the current file name by | 12469 | file name is @file{~/.calc.el}. You can see the current file name by |
| 12308 | giving a blank response to the @kbd{m F} prompt. See also the | 12470 | giving a blank response to the @kbd{m F} prompt. See also the |
| 12309 | discussion of the @code{calc-settings-file} variable; @pxref{Installation}. | 12471 | discussion of the @code{calc-settings-file} variable; @pxref{Customizable Variables}. |
| 12310 | 12472 | ||
| 12311 | If the file name you give is your user init file (typically | 12473 | If the file name you give is your user init file (typically |
| 12312 | @file{~/.emacs}), @kbd{m F} will not automatically load the new file. This | 12474 | @file{~/.emacs}), @kbd{m F} will not automatically load the new file. This |
| @@ -29109,7 +29271,7 @@ of the @samp{*Gnuplot Commands*} buffer. | |||
| 29109 | @vindex calc-gnuplot-print-command | 29271 | @vindex calc-gnuplot-print-command |
| 29110 | @vindex calc-gnuplot-print-device | 29272 | @vindex calc-gnuplot-print-device |
| 29111 | @vindex calc-gnuplot-print-output | 29273 | @vindex calc-gnuplot-print-output |
| 29112 | If you are installing Calc you may wish to configure the default and | 29274 | You may wish to configure the default and |
| 29113 | printer devices and output files for the whole system. The relevant | 29275 | printer devices and output files for the whole system. The relevant |
| 29114 | Lisp variables are @code{calc-gnuplot-default-device} and @code{-output}, | 29276 | Lisp variables are @code{calc-gnuplot-default-device} and @code{-output}, |
| 29115 | and @code{calc-gnuplot-print-device} and @code{-output}. The output | 29277 | and @code{calc-gnuplot-print-device} and @code{-output}. The output |
| @@ -29122,7 +29284,8 @@ display or print the output of GNUPLOT, respectively. These may be | |||
| 29122 | @code{nil} if no command is necessary, or strings which can include | 29284 | @code{nil} if no command is necessary, or strings which can include |
| 29123 | @samp{%s} to signify the name of the file to be displayed or printed. | 29285 | @samp{%s} to signify the name of the file to be displayed or printed. |
| 29124 | Or, these variables may contain Lisp expressions which are evaluated | 29286 | Or, these variables may contain Lisp expressions which are evaluated |
| 29125 | to display or print the output. | 29287 | to display or print the output. These variables are customizable |
| 29288 | (@pxref{Customizable Variables}). | ||
| 29126 | 29289 | ||
| 29127 | @kindex g x | 29290 | @kindex g x |
| 29128 | @pindex calc-graph-display | 29291 | @pindex calc-graph-display |
| @@ -29910,7 +30073,8 @@ Similarly, Calc will use @TeX{} language for @code{tex-mode}, | |||
| 29910 | @code{plain-tex-mode} and @code{context-mode}, C language for | 30073 | @code{plain-tex-mode} and @code{context-mode}, C language for |
| 29911 | @code{c-mode} and @code{c++-mode}, FORTRAN language for | 30074 | @code{c-mode} and @code{c++-mode}, FORTRAN language for |
| 29912 | @code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode}, | 30075 | @code{fortran-mode} and @code{f90-mode}, Pascal for @code{pascal-mode}, |
| 29913 | and eqn for @code{nroff-mode}. These can be overridden with Calc's mode | 30076 | and eqn for @code{nroff-mode} (@pxref{Customizable Variables}). |
| 30077 | These can be overridden with Calc's mode | ||
| 29914 | changing commands (@pxref{Mode Settings in Embedded Mode}). If no | 30078 | changing commands (@pxref{Mode Settings in Embedded Mode}). If no |
| 29915 | suitable language is available, Calc will continue with its current language. | 30079 | suitable language is available, Calc will continue with its current language. |
| 29916 | 30080 | ||
| @@ -30612,10 +30776,10 @@ for @code{Save} have no effect. | |||
| 30612 | 30776 | ||
| 30613 | @noindent | 30777 | @noindent |
| 30614 | You can modify Embedded mode's behavior by setting various Lisp | 30778 | You can modify Embedded mode's behavior by setting various Lisp |
| 30615 | variables described here. Use @kbd{M-x set-variable} or | 30779 | variables described here. These variables are customizable |
| 30616 | @kbd{M-x edit-options} to adjust a variable on the fly, or | 30780 | (@pxref{Customizable Variables}), or you can use @kbd{M-x set-variable} |
| 30617 | put a suitable @code{setq} statement in your Calc init file (or | 30781 | or @kbd{M-x edit-options} to adjust a variable on the fly. |
| 30618 | @file{~/.emacs}) to set a variable permanently. (Another possibility would | 30782 | (Another possibility would |
| 30619 | be to use a file-local variable annotation at the end of the | 30783 | be to use a file-local variable annotation at the end of the |
| 30620 | file; @pxref{File Variables, , Local Variables in Files, emacs, the | 30784 | file; @pxref{File Variables, , Local Variables in Files, emacs, the |
| 30621 | Emacs manual}.) | 30785 | Emacs manual}.) |
| @@ -30760,7 +30924,7 @@ is simply a newline, @code{"\n"}. If you change this, it is a | |||
| 30760 | good idea still to end with a newline so that mode annotations | 30924 | good idea still to end with a newline so that mode annotations |
| 30761 | will appear on lines by themselves. | 30925 | will appear on lines by themselves. |
| 30762 | 30926 | ||
| 30763 | @node Programming, Installation, Embedded Mode, Top | 30927 | @node Programming, Customizable Variables, Embedded Mode, Top |
| 30764 | @chapter Programming | 30928 | @chapter Programming |
| 30765 | 30929 | ||
| 30766 | @noindent | 30930 | @noindent |
| @@ -34610,70 +34774,204 @@ used the first time, your hook should add a variable to the | |||
| 34610 | list and also call @code{make-local-variable} itself. | 34774 | list and also call @code{make-local-variable} itself. |
| 34611 | @end defvar | 34775 | @end defvar |
| 34612 | 34776 | ||
| 34613 | @node Installation, Reporting Bugs, Programming, Top | 34777 | @node Customizable Variables, Reporting Bugs, Programming, Top |
| 34614 | @appendix Installation | 34778 | @appendix Customizable Variables |
| 34779 | |||
| 34780 | GNU Calc is controlled by many variables, most of which can be reset | ||
| 34781 | from within Calc. Some variables are less involved with actual | ||
| 34782 | calculation, and can be set outside of Calc using Emacs's | ||
| 34783 | customization facilities. These variables are listed below. | ||
| 34784 | Typing @kbd{M-x customize-variable RET @var{variable-name} RET} | ||
| 34785 | will bring up a buffer in which the variable's value can be redefined. | ||
| 34786 | Typing @kbd{M-x customize-group RET calc RET} will bring up a buffer which | ||
| 34787 | contains all of Calc's customizable variables. (These variables can | ||
| 34788 | also be reset by putting the appropriate lines in your .emacs file; | ||
| 34789 | @xref{Init File, ,Init File, emacs, The GNU Emacs Manual}.) | ||
| 34790 | |||
| 34791 | Some of the customizable variables are regular expressions. A regular | ||
| 34792 | expression is basically a pattern that Calc can search for. | ||
| 34793 | See @ref{Regexp Search,, Regular Expression Search, emacs, The GNU Emacs Manual} | ||
| 34794 | to see how regular expressions work. | ||
| 34615 | 34795 | ||
| 34616 | @noindent | 34796 | @table @code |
| 34617 | As of Calc 2.02g, Calc is integrated with GNU Emacs, and thus requires | ||
| 34618 | no separate installation of its Lisp files and this manual. | ||
| 34619 | 34797 | ||
| 34620 | @appendixsec The GNUPLOT Program | 34798 | @item calc-settings-file |
| 34621 | 34799 | ||
| 34622 | @noindent | 34800 | @vindex calc-settings-file |
| 34623 | Calc's graphing commands use the GNUPLOT program. If you have GNUPLOT | 34801 | The variable @code{calc-settings-file} holds the file name in |
| 34624 | but you must type some command other than @file{gnuplot} to get it, | 34802 | which commands like @kbd{m m} and @kbd{Z P} store ``permanent'' |
| 34625 | you should add a command to set the Lisp variable @code{calc-gnuplot-name} | 34803 | definitions. |
| 34626 | to the appropriate file name. You may also need to change the variables | 34804 | If @code{calc-settings-file} is not your user init file (typically |
| 34627 | @code{calc-gnuplot-plot-command} and @code{calc-gnuplot-print-command} in | 34805 | @file{~/.emacs}) and if the variable @code{calc-loaded-settings-file} is |
| 34628 | order to get correct displays and hardcopies, respectively, of your | 34806 | @code{nil}, then Calc will automatically load your settings file (if it |
| 34629 | plots. | 34807 | exists) the first time Calc is invoked. |
| 34808 | |||
| 34809 | The default value for this variable is @code{"~/.calc.el"}. | ||
| 34810 | |||
| 34811 | @item calc-gnuplot-name | ||
| 34812 | |||
| 34813 | See @ref{Graphics}.@* | ||
| 34814 | The variable @code{calc-gnuplot-name} should be the name of the | ||
| 34815 | GNUPLOT program (a string). If you have GNUPLOT installed on your | ||
| 34816 | system but Calc is unable to find it, you may need to set this | ||
| 34817 | variable. (@pxref{Customizable Variables}) | ||
| 34818 | You may also need to set some Lisp variables to show Calc how to run | ||
| 34819 | GNUPLOT on your system, see @ref{Devices, ,Graphical Devices} . The default value | ||
| 34820 | of @code{calc-gnuplot-name} is @code{"gnuplot"}. | ||
| 34821 | |||
| 34822 | @item calc-gnuplot-plot-command | ||
| 34823 | @itemx calc-gnuplot-print-command | ||
| 34824 | |||
| 34825 | See @ref{Devices, ,Graphical Devices}.@* | ||
| 34826 | The variables @code{calc-gnuplot-plot-command} and | ||
| 34827 | @code{calc-gnuplot-print-command} represent system commands to | ||
| 34828 | display and print the output of GNUPLOT, respectively. These may be | ||
| 34829 | @code{nil} if no command is necessary, or strings which can include | ||
| 34830 | @samp{%s} to signify the name of the file to be displayed or printed. | ||
| 34831 | Or, these variables may contain Lisp expressions which are evaluated | ||
| 34832 | to display or print the output. | ||
| 34630 | 34833 | ||
| 34631 | @ifinfo | 34834 | The default value of @code{calc-gnuplot-plot-command} is @code{nil}, |
| 34835 | and the default value of @code{calc-gnuplot-print-command} is | ||
| 34836 | @code{"lp %s"}. | ||
| 34837 | |||
| 34838 | @item calc-language-alist | ||
| 34839 | |||
| 34840 | See @ref{Basic Embedded Mode}.@* | ||
| 34841 | The variable @code{calc-language-alist} controls the languages that | ||
| 34842 | Calc will associate with major modes. When Calc embedded mode is | ||
| 34843 | enabled, it will try to use the current major mode to | ||
| 34844 | determine what language should be used. (This can be overridden using | ||
| 34845 | Calc's mode changing commands, @xref{Mode Settings in Embedded Mode}.) | ||
| 34846 | The variable @code{calc-language-alist} consists of a list of pairs of | ||
| 34847 | the form @code{(@var{MAJOR-MODE} . @var{LANGUAGE})}; for example, | ||
| 34848 | @code{(latex-mode . latex)} is one such pair. If Calc embedded is | ||
| 34849 | activated in a buffer whose major mode is @var{MAJOR-MODE}, it will set itself | ||
| 34850 | to use the language @var{LANGUAGE}. | ||
| 34851 | |||
| 34852 | The default value of @code{calc-language-alist} is | ||
| 34632 | @example | 34853 | @example |
| 34633 | 34854 | ((latex-mode . latex) | |
| 34855 | (tex-mode . tex) | ||
| 34856 | (plain-tex-mode . tex) | ||
| 34857 | (context-mode . tex) | ||
| 34858 | (nroff-mode . eqn) | ||
| 34859 | (pascal-mode . pascal) | ||
| 34860 | (c-mode . c) | ||
| 34861 | (c++-mode . c) | ||
| 34862 | (fortran-mode . fortran) | ||
| 34863 | (f90-mode . fortran)) | ||
| 34634 | @end example | 34864 | @end example |
| 34635 | @end ifinfo | ||
| 34636 | 34865 | ||
| 34637 | @appendixsec Settings File | 34866 | @item calc-embedded-announce-formula |
| 34638 | 34867 | ||
| 34639 | @noindent | 34868 | See @ref{Customizing Embedded Mode}.@* |
| 34640 | @vindex calc-settings-file | 34869 | The variable @code{calc-embedded-announce-formula} helps determine |
| 34641 | Another variable you might want to set is @code{calc-settings-file}, | 34870 | what formulas @kbd{M-# a} will activate in a buffer. It is a |
| 34642 | which holds the file name in which commands like @kbd{m m} and @kbd{Z P} | 34871 | regular expression, and when activating embedded formulas with |
| 34643 | store ``permanent'' definitions. The default value for this variable | 34872 | @kbd{M-# a}, it will tell Calc that what follows is a formula to be |
| 34644 | is @code{"~/.calc.el"}. If @code{calc-settings-file} is not your user | 34873 | activated. (Calc also uses other patterns to find formulas, such as |
| 34645 | init file (typically @file{~/.emacs}) and if the variable | 34874 | @samp{=>} and @samp{:=}.) |
| 34646 | @code{calc-loaded-settings-file} is @code{nil}, then Calc will | ||
| 34647 | automatically load your settings file (if it exists) the first time | ||
| 34648 | Calc is invoked. | ||
| 34649 | 34875 | ||
| 34650 | @ifinfo | 34876 | The default pattern is @code{"%Embed\n\\(% .*\n\\)*"}, which checks |
| 34651 | @example | 34877 | for @samp{%Embed} followed by any number of lines beginning with |
| 34878 | @samp{%} and a space. | ||
| 34652 | 34879 | ||
| 34653 | @end example | 34880 | @item calc-embedded-open-formula |
| 34654 | @end ifinfo | 34881 | @itemx calc-embedded-close-formula |
| 34655 | @appendixsec Testing the Installation | ||
| 34656 | 34882 | ||
| 34657 | @noindent | 34883 | See @ref{Customizing Embedded Mode}.@* |
| 34658 | To test your installation of Calc, start a new Emacs and type @kbd{M-# c} | 34884 | The variables @code{calc-embedded-open-formula} and |
| 34659 | to make sure the autoloads and key bindings work. Type @kbd{M-# i} | 34885 | @code{calc-embedded-open-formula} control the region that Calc will |
| 34660 | to make sure Calc can find its Info documentation. Press @kbd{q} to | 34886 | activate as a formula when Embedded mode is entered with @kbd{M-# e}. |
| 34661 | exit the Info system and @kbd{M-# c} to re-enter the Calculator. | 34887 | They are regular expressions; |
| 34662 | Type @kbd{20 S} to compute the sine of 20 degrees; this will test the | 34888 | Calc normally scans backward and forward in the buffer for the |
| 34663 | autoloading of the extensions modules. The result should be | 34889 | nearest text matching these regular expressions to be the ``formula |
| 34664 | 0.342020143326. Finally, press @kbd{M-# c} again to make sure the | 34890 | delimiters''. |
| 34665 | Calculator can exit. | ||
| 34666 | 34891 | ||
| 34667 | You may also wish to test the GNUPLOT interface; to plot a sine wave, | 34892 | The simplest delimiters are blank lines. Other delimiters that |
| 34668 | type @kbd{' [0 ..@: 360], sin(x) @key{RET} g f}. Type @kbd{g q} when you | 34893 | Embedded mode understands by default are: |
| 34669 | are done viewing the plot. | 34894 | @enumerate |
| 34895 | @item | ||
| 34896 | The @TeX{} and La@TeX{} math delimiters @samp{$ $}, @samp{$$ $$}, | ||
| 34897 | @samp{\[ \]}, and @samp{\( \)}; | ||
| 34898 | @item | ||
| 34899 | Lines beginning with @samp{\begin} and @samp{\end} (except matrix delimiters); | ||
| 34900 | @item | ||
| 34901 | Lines beginning with @samp{@@} (Texinfo delimiters). | ||
| 34902 | @item | ||
| 34903 | Lines beginning with @samp{.EQ} and @samp{.EN} (@dfn{eqn} delimiters); | ||
| 34904 | @item | ||
| 34905 | Lines containing a single @samp{%} or @samp{.\"} symbol and nothing else. | ||
| 34906 | @end enumerate | ||
| 34670 | 34907 | ||
| 34671 | Calc is now ready to use. If you wish to go through the Calc Tutorial, | 34908 | @item calc-embedded-open-word |
| 34672 | press @kbd{M-# t} to begin. | 34909 | @itemx calc-embedded-close-word |
| 34673 | @example | ||
| 34674 | 34910 | ||
| 34675 | @end example | 34911 | See @ref{Customizing Embedded Mode}.@* |
| 34676 | @node Reporting Bugs, Summary, Installation, Top | 34912 | The variables @code{calc-embedded-open-word} and |
| 34913 | @code{calc-embedded-close-word} control the region that Calc will | ||
| 34914 | activate when Embedded mode is entered with @kbd{M-# w}. They are | ||
| 34915 | regular expressions. | ||
| 34916 | |||
| 34917 | The default values of @code{calc-embedded-open-word} and | ||
| 34918 | @code{calc-embedded-close-word} are @code{"^\\|[^-+0-9.eE]"} and | ||
| 34919 | @code{"$\\|[^-+0-9.eE]"} respectively. | ||
| 34920 | |||
| 34921 | @item calc-embedded-open-plain | ||
| 34922 | @itemx calc-embedded-close-plain | ||
| 34923 | |||
| 34924 | See @ref{Customizing Embedded Mode}.@* | ||
| 34925 | The variables @code{calc-embedded-open-plain} and | ||
| 34926 | @code{calc-embedded-open-plain} are used to delimit ``plain'' | ||
| 34927 | formulas. Note that these are actual strings, not regular | ||
| 34928 | expressions, because Calc must be able to write these string into a | ||
| 34929 | buffer as well as to recognize them. | ||
| 34930 | |||
| 34931 | The default string for @code{calc-embedded-open-plain} is | ||
| 34932 | @code{"%%% "}, note the trailing space. The default string for | ||
| 34933 | @code{calc-embedded-close-plain} is @code{" %%%\n"}, without | ||
| 34934 | the trailing newline here, the first line of a Big mode formula | ||
| 34935 | that followed might be shifted over with respect to the other lines. | ||
| 34936 | |||
| 34937 | @item calc-embedded-open-new-formula | ||
| 34938 | @itemx calc-embedded-close-new-formula | ||
| 34939 | |||
| 34940 | See @ref{Customizing Embedded Mode}.@* | ||
| 34941 | The variables @code{calc-embedded-open-new-formula} and | ||
| 34942 | @code{calc-embedded-close-new-formula} are strings which are | ||
| 34943 | inserted before and after a new formula when you type @kbd{M-# f}. | ||
| 34944 | |||
| 34945 | The default value of @code{calc-embedded-open-new-formula} is | ||
| 34946 | @code{"\n\n"}. If this string begins with a newline character and the | ||
| 34947 | @kbd{M-# f} is typed at the beginning of a line, @kbd{M-# f} will skip | ||
| 34948 | this first newline to avoid introducing unnecessary blank lines in the | ||
| 34949 | file. The default value of @code{calc-embedded-close-new-formula} is | ||
| 34950 | also @code{"\n\n"}. The final newline is omitted by @w{@kbd{M-# f}} | ||
| 34951 | if typed at the end of a line. (It follows that if @kbd{M-# f} is | ||
| 34952 | typed on a blank line, both a leading opening newline and a trailing | ||
| 34953 | closing newline are omitted.) | ||
| 34954 | |||
| 34955 | @item calc-embedded-open-mode | ||
| 34956 | @itemx calc-embedded-close-mode | ||
| 34957 | |||
| 34958 | See @ref{Customizing Embedded Mode}.@* | ||
| 34959 | The variables @code{calc-embedded-open-mode} and | ||
| 34960 | @code{calc-embedded-close-mode} are strings which Calc will place before | ||
| 34961 | and after any mode annotations that it inserts. Calc never scans for | ||
| 34962 | these strings; Calc always looks for the annotation itself, so it is not | ||
| 34963 | necessary to add them to user-written annotations. | ||
| 34964 | |||
| 34965 | The default value of @code{calc-embedded-open-mode} is @code{"% "} | ||
| 34966 | and the default value of @code{calc-embedded-close-mode} is | ||
| 34967 | @code{"\n"}. | ||
| 34968 | If you change the value of @code{calc-embedded-close-mode}, it is a good | ||
| 34969 | idea still to end with a newline so that mode annotations will appear on | ||
| 34970 | lines by themselves. | ||
| 34971 | |||
| 34972 | @end table | ||
| 34973 | |||
| 34974 | @node Reporting Bugs, Summary, Customizable Variables, Top | ||
| 34677 | @appendix Reporting Bugs | 34975 | @appendix Reporting Bugs |
| 34678 | 34976 | ||
| 34679 | @noindent | 34977 | @noindent |
diff --git a/man/calendar.texi b/man/calendar.texi index 747a6b822df..cf02377f1d9 100644 --- a/man/calendar.texi +++ b/man/calendar.texi | |||
| @@ -433,7 +433,7 @@ click on that date with @kbd{Mouse-2} and then choose @kbd{Holidays} | |||
| 433 | from the menu that appears. Either way, this displays the holidays for | 433 | from the menu that appears. Either way, this displays the holidays for |
| 434 | that date, in the echo area if they fit there, otherwise in a separate | 434 | that date, in the echo area if they fit there, otherwise in a separate |
| 435 | window. If the variable @code{view-calendar-holidays-initially} is | 435 | window. If the variable @code{view-calendar-holidays-initially} is |
| 436 | non-@code{nil}, holidays are displayed when the calendar is created. | 436 | non-@code{nil}, creating the calendar displays holidays in this way. |
| 437 | 437 | ||
| 438 | @kindex x @r{(Calendar mode)} | 438 | @kindex x @r{(Calendar mode)} |
| 439 | @findex mark-calendar-holidays | 439 | @findex mark-calendar-holidays |
| @@ -449,9 +449,8 @@ both to the currently visible months and to other months that | |||
| 449 | subsequently become visible by scrolling. To turn marking off and erase | 449 | subsequently become visible by scrolling. To turn marking off and erase |
| 450 | the current marks, type @kbd{u}, which also erases any diary marks | 450 | the current marks, type @kbd{u}, which also erases any diary marks |
| 451 | (@pxref{Diary}). If the variable @code{mark-holidays-in-calendar} is | 451 | (@pxref{Diary}). If the variable @code{mark-holidays-in-calendar} is |
| 452 | non-@code{nil}, holidays are marked in the calendar when it is created | 452 | non-@code{nil}, creating or updating the calendar marks holidays |
| 453 | (or recomputed). | 453 | automatically. |
| 454 | |||
| 455 | 454 | ||
| 456 | @kindex a @r{(Calendar mode)} | 455 | @kindex a @r{(Calendar mode)} |
| 457 | @findex list-calendar-holidays | 456 | @findex list-calendar-holidays |
| @@ -692,6 +691,12 @@ Their calendar consists of twelve months of which the first six have 31 | |||
| 692 | days, the next five have 30 days, and the last has 29 in ordinary years | 691 | days, the next five have 30 days, and the last has 29 in ordinary years |
| 693 | and 30 in leap years. Leap years occur in a complicated pattern every | 692 | and 30 in leap years. Leap years occur in a complicated pattern every |
| 694 | four or five years. | 693 | four or five years. |
| 694 | The calendar implemented here is the arithmetical Persian calendar | ||
| 695 | championed by Birashk, based on a 2,820-year cycle. It differs from | ||
| 696 | the astronomical Persian calendar, which is based on astronomical | ||
| 697 | events. As of this writing the first future discrepancy is projected | ||
| 698 | to occur on March 20, 2025. It is currently not clear what the | ||
| 699 | official calendar of Iran will be that far into the future. | ||
| 695 | 700 | ||
| 696 | @cindex Chinese calendar | 701 | @cindex Chinese calendar |
| 697 | The Chinese calendar is a complicated system of lunar months arranged | 702 | The Chinese calendar is a complicated system of lunar months arranged |
| @@ -937,7 +942,8 @@ date. | |||
| 937 | 942 | ||
| 938 | The name of the diary file is specified by the variable | 943 | The name of the diary file is specified by the variable |
| 939 | @code{diary-file}; @file{~/diary} is the default. A sample diary file | 944 | @code{diary-file}; @file{~/diary} is the default. A sample diary file |
| 940 | is: | 945 | is (note that the file format is essentially the same as that used by |
| 946 | the external shell utility @samp{calendar}): | ||
| 941 | 947 | ||
| 942 | @example | 948 | @example |
| 943 | 12/22/1988 Twentieth wedding anniversary!! | 949 | 12/22/1988 Twentieth wedding anniversary!! |
| @@ -1005,13 +1011,14 @@ of the new window shows the date of the diary entries and any holidays | |||
| 1005 | that fall on that date. If you specify a numeric argument with @kbd{d}, | 1011 | that fall on that date. If you specify a numeric argument with @kbd{d}, |
| 1006 | it shows all the diary entries for that many successive days. Thus, | 1012 | it shows all the diary entries for that many successive days. Thus, |
| 1007 | @kbd{2 d} displays all the entries for the selected date and for the | 1013 | @kbd{2 d} displays all the entries for the selected date and for the |
| 1008 | following day. If the variable @code{view-diary-entries-initially} is | 1014 | following day. |
| 1009 | non-@code{nil}, the diary entries for the current date are displayed | ||
| 1010 | when the calendar is created (provided the current date is visible). | ||
| 1011 | 1015 | ||
| 1012 | Another way to display the diary entries for a date is to click | 1016 | Another way to display the diary entries for a date is to click |
| 1013 | @kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from | 1017 | @kbd{Mouse-2} on the date, and then choose @kbd{Diary entries} from |
| 1014 | the menu that appears. | 1018 | the menu that appears. If the variable |
| 1019 | @code{view-diary-entries-initially} is non-@code{nil}, creating the | ||
| 1020 | calendar also lists diary entries for the current date (provided the | ||
| 1021 | current date is visible). | ||
| 1015 | 1022 | ||
| 1016 | @kindex m @r{(Calendar mode)} | 1023 | @kindex m @r{(Calendar mode)} |
| 1017 | @findex mark-diary-entries | 1024 | @findex mark-diary-entries |
| @@ -1023,10 +1030,10 @@ with multiple faces is not available). @inforef{Calendar Customizing, | |||
| 1023 | diary-entry-marker, emacs-xtra}. The command applies both to the | 1030 | diary-entry-marker, emacs-xtra}. The command applies both to the |
| 1024 | currently visible months and to other months that subsequently become | 1031 | currently visible months and to other months that subsequently become |
| 1025 | visible by scrolling. To turn marking off and erase the current marks, | 1032 | visible by scrolling. To turn marking off and erase the current marks, |
| 1026 | type @kbd{u}, which also turns off holiday marks (@pxref{Holidays}). If | 1033 | type @kbd{u}, which also turns off holiday marks (@pxref{Holidays}). |
| 1027 | the variable @code{mark-diary-entries-in-calendar} is non-@code{nil}, | 1034 | If the variable @code{mark-diary-entries-in-calendar} is |
| 1028 | diary dates are marked in the calendar when it is created (or | 1035 | non-@code{nil}, creating or updating the calendar marks diary dates |
| 1029 | recomputed). | 1036 | automatically. |
| 1030 | 1037 | ||
| 1031 | @kindex s @r{(Calendar mode)} | 1038 | @kindex s @r{(Calendar mode)} |
| 1032 | @findex show-all-diary-entries | 1039 | @findex show-all-diary-entries |
| @@ -1034,14 +1041,12 @@ recomputed). | |||
| 1034 | the @kbd{s} command. | 1041 | the @kbd{s} command. |
| 1035 | 1042 | ||
| 1036 | Display of selected diary entries uses the selective display feature | 1043 | Display of selected diary entries uses the selective display feature |
| 1037 | to hide entries that don't apply. | 1044 | to hide entries that don't apply. The diary buffer as you see it is |
| 1038 | 1045 | an illusion, so simply printing the buffer does not print what you see | |
| 1039 | The diary buffer as you see it is an illusion, so simply printing the | 1046 | on your screen. There is a special command to print hard copy of the |
| 1040 | buffer does not print what you see on your screen. There is a special | 1047 | diary buffer @emph{as it appears}; this command is @kbd{M-x |
| 1041 | command to print hard copy of the diary buffer @emph{as it appears}; | 1048 | print-diary-entries}. It sends the data directly to the printer. You |
| 1042 | this command is @kbd{M-x print-diary-entries}. It sends the data | 1049 | can customize it like @code{lpr-region} (@pxref{Hardcopy}). |
| 1043 | directly to the printer. You can customize it like @code{lpr-region} | ||
| 1044 | (@pxref{Hardcopy}). | ||
| 1045 | 1050 | ||
| 1046 | @findex diary | 1051 | @findex diary |
| 1047 | The command @kbd{M-x diary} displays the diary entries for the current | 1052 | The command @kbd{M-x diary} displays the diary entries for the current |
diff --git a/man/cmdargs.texi b/man/cmdargs.texi index 38ac3301781..d49ffba6103 100644 --- a/man/cmdargs.texi +++ b/man/cmdargs.texi | |||
| @@ -1196,8 +1196,9 @@ appear until you deiconify it. | |||
| 1196 | @opindex -hb | 1196 | @opindex -hb |
| 1197 | @itemx --horizontal-scroll-bars | 1197 | @itemx --horizontal-scroll-bars |
| 1198 | @opindex --horizontal-scroll-bars | 1198 | @opindex --horizontal-scroll-bars |
| 1199 | @cindex horizontal scroll bars, command-line argument | 1199 | @c @cindex horizontal scroll bars, command-line argument |
| 1200 | Enable horizontal scroll bars. | 1200 | Enable horizontal scroll bars. Since horizontal scroll bars |
| 1201 | are not yet implemented, this actually does nothing. | ||
| 1201 | 1202 | ||
| 1202 | @item -vb | 1203 | @item -vb |
| 1203 | @opindex -vb | 1204 | @opindex -vb |
diff --git a/man/commands.texi b/man/commands.texi index fe70983286f..e0208473419 100644 --- a/man/commands.texi +++ b/man/commands.texi | |||
| @@ -169,8 +169,8 @@ key sequences, not one.@refill | |||
| 169 | 169 | ||
| 170 | All told, the prefix keys in Emacs are @kbd{C-c}, @kbd{C-h}, | 170 | All told, the prefix keys in Emacs are @kbd{C-c}, @kbd{C-h}, |
| 171 | @kbd{C-x}, @kbd{C-x @key{RET}}, @kbd{C-x @@}, @kbd{C-x a}, @kbd{C-x | 171 | @kbd{C-x}, @kbd{C-x @key{RET}}, @kbd{C-x @@}, @kbd{C-x a}, @kbd{C-x |
| 172 | n}, @w{@kbd{C-x r}}, @kbd{C-x v}, @kbd{C-x 4}, @kbd{C-x 5}, @kbd{C-x | 172 | n}, @w{@kbd{C-x r}}, @kbd{C-x v}, @kbd{C-x 4}, @kbd{C-x 5}, @kbd{C-x 6}, |
| 173 | 6}, @key{ESC}, and @kbd{M-g}. (@key{F1} and @key{F2} are aliases for | 173 | @key{ESC}, @kbd{M-o} and @kbd{M-g}. (@key{F1} and @key{F2} are aliases for |
| 174 | @kbd{C-h} and @kbd{C-x 6}.) But this list is not cast in concrete; it | 174 | @kbd{C-h} and @kbd{C-x 6}.) But this list is not cast in concrete; it |
| 175 | is just a matter of Emacs's standard key bindings. If you customize | 175 | is just a matter of Emacs's standard key bindings. If you customize |
| 176 | Emacs, you can make new prefix keys, or eliminate these. @xref{Key | 176 | Emacs, you can make new prefix keys, or eliminate these. @xref{Key |
diff --git a/man/custom.texi b/man/custom.texi index 6c5c26b3451..30bac3bccf2 100644 --- a/man/custom.texi +++ b/man/custom.texi | |||
| @@ -1636,6 +1636,27 @@ word: | |||
| 1636 | (global-set-key [H-M-right] 'forward-word) | 1636 | (global-set-key [H-M-right] 'forward-word) |
| 1637 | @end example | 1637 | @end example |
| 1638 | 1638 | ||
| 1639 | @cindex keypad | ||
| 1640 | Many keyboards have a ``numeric keypad'' on the right hand side. | ||
| 1641 | The numeric keys in the keypad double up as cursor motion keys, | ||
| 1642 | toggled by a key labelled @samp{Num Lock}. By default, Emacs | ||
| 1643 | translates these keys to the corresponding keys in the main keyboard | ||
| 1644 | (@pxref{Keyboard Translations}). For example, when @samp{Num Lock} is | ||
| 1645 | on, the key labelled @samp{8} on the numeric keypad produces | ||
| 1646 | @code{kp-8}, which is translated to @kbd{8}; when @samp{Num Lock} is | ||
| 1647 | off, the same key produces @code{kp-up}, which is translated to | ||
| 1648 | @key{UP}. If you rebind a key such as @kbd{8} or @key{UP}, it affects | ||
| 1649 | the equivalent keypad key too. However, if you rebind a @samp{kp-} | ||
| 1650 | key directly, that won't affect its non-keypad equivalent. | ||
| 1651 | |||
| 1652 | Emacs provides a convenient method for binding the numeric keypad | ||
| 1653 | keys, using the variables @code{keypad-setup}, | ||
| 1654 | @code{keypad-numlock-setup}, @code{keypad-shifted-setup}, and | ||
| 1655 | @code{keypad-numlock-shifted-setup}. These can be found in the | ||
| 1656 | @samp{keyboard} customization group (@pxref{Easy Customization}). You | ||
| 1657 | can rebind the keys to perform other tasks, such as issuing numeric | ||
| 1658 | prefix arguments. | ||
| 1659 | |||
| 1639 | @node Named ASCII Chars | 1660 | @node Named ASCII Chars |
| 1640 | @subsection Named @acronym{ASCII} Control Characters | 1661 | @subsection Named @acronym{ASCII} Control Characters |
| 1641 | 1662 | ||
diff --git a/man/dired.texi b/man/dired.texi index 6973a4e4000..b50ac82ab0b 100644 --- a/man/dired.texi +++ b/man/dired.texi | |||
| @@ -39,6 +39,7 @@ files. | |||
| 39 | * Hiding Subdirectories:: Making subdirectories visible or invisible. | 39 | * Hiding Subdirectories:: Making subdirectories visible or invisible. |
| 40 | * Updating: Dired Updating. Discarding lines for files of no interest. | 40 | * Updating: Dired Updating. Discarding lines for files of no interest. |
| 41 | * Find: Dired and Find. Using `find' to choose the files for Dired. | 41 | * Find: Dired and Find. Using `find' to choose the files for Dired. |
| 42 | * Wdired:: Operating on files by editing the Dired buffer. | ||
| 42 | * Misc: Misc Dired Features. Various other features. | 43 | * Misc: Misc Dired Features. Various other features. |
| 43 | @end menu | 44 | @end menu |
| 44 | 45 | ||
| @@ -1103,6 +1104,39 @@ operations work, but do not always automatically update the buffer. | |||
| 1103 | Reverting the buffer with @kbd{g} deletes all inserted subdirectories, | 1104 | Reverting the buffer with @kbd{g} deletes all inserted subdirectories, |
| 1104 | and erases all flags and marks. | 1105 | and erases all flags and marks. |
| 1105 | 1106 | ||
| 1107 | @node Wdired | ||
| 1108 | @section Editing the Dired Buffer | ||
| 1109 | |||
| 1110 | @cindex wdired mode | ||
| 1111 | @findex wdired-change-to-wdired-mode | ||
| 1112 | Wdired is a special mode that allows you to perform file operations | ||
| 1113 | by editing the Dired buffer directly (the ``W'' in ``Wdired'' stands | ||
| 1114 | for ``writable''.) To enter Wdired mode, type @kbd{M-x | ||
| 1115 | wdired-change-to-wdired-mode} while in a Dired buffer. Alternatively, | ||
| 1116 | use @samp{Edit File Names} in the @samp{Immediate} menu bar menu. | ||
| 1117 | |||
| 1118 | @findex wdired-finish-edit | ||
| 1119 | While in Wdired mode, you can rename files by editing the file names | ||
| 1120 | displayed in the Dired buffer. All the ordinary Emacs editing | ||
| 1121 | commands, including rectangle operations and @code{query-replace}, are | ||
| 1122 | available for this. Once you are done editing, type @kbd{C-c C-c} | ||
| 1123 | (@code{wdired-finish-edit}). This applies your changes and switches | ||
| 1124 | back to ordinary Dired mode. | ||
| 1125 | |||
| 1126 | Apart from simply renaming files, you can move a file to another | ||
| 1127 | directory by typing in the new file name (either absolute or | ||
| 1128 | relative). To mark a file for deletion, delete the entire filename. | ||
| 1129 | To change the target of a symbolic link, just edit the target name | ||
| 1130 | displayed next to the link name. | ||
| 1131 | |||
| 1132 | The rest of the text in the buffer, such as the file sizes and | ||
| 1133 | modification dates, is marked read-only, so you can't edit it. | ||
| 1134 | However, if you set @code{wdired-allow-to-change-permissions} to | ||
| 1135 | @code{t}, the file permission bits can also be edited. For example, | ||
| 1136 | you can change @samp{-rw-r--r--} to @samp{-rw-rw-rw-} to make a file | ||
| 1137 | world-writable. These changes also take effect when you type @kbd{C-c | ||
| 1138 | C-c}. | ||
| 1139 | |||
| 1106 | @node Misc Dired Features | 1140 | @node Misc Dired Features |
| 1107 | @section Other Dired Features | 1141 | @section Other Dired Features |
| 1108 | 1142 | ||
diff --git a/man/emacs-mime.texi b/man/emacs-mime.texi index c128ed096c3..11a07df5361 100644 --- a/man/emacs-mime.texi +++ b/man/emacs-mime.texi | |||
| @@ -387,15 +387,15 @@ The program used to start an external terminal. | |||
| 387 | 387 | ||
| 388 | @item mm-enable-external | 388 | @item mm-enable-external |
| 389 | @vindex mm-enable-external | 389 | @vindex mm-enable-external |
| 390 | Indicate whether external MIME handlers should be used. | 390 | Indicate whether external @acronym{MIME} handlers should be used. |
| 391 | 391 | ||
| 392 | If @code{t}, all defined external MIME handlers are used. If | 392 | If @code{t}, all defined external @acronym{MIME} handlers are used. If |
| 393 | @code{nil}, files are saved to disk (@code{mailcap-save-binary-file}). | 393 | @code{nil}, files are saved to disk (@code{mailcap-save-binary-file}). |
| 394 | If it is the symbol @code{ask}, you are prompted before the external | 394 | If it is the symbol @code{ask}, you are prompted before the external |
| 395 | @acronym{MIME} handler is invoked. | 395 | @acronym{MIME} handler is invoked. |
| 396 | 396 | ||
| 397 | When you launch an attachment through mailcap (@pxref{mailcap}) an | 397 | When you launch an attachment through mailcap (@pxref{mailcap}) an |
| 398 | attempt is made to use a safe viewer with the safest options--this isn't | 398 | attempt is made to use a safe viewer with the safest options---this isn't |
| 399 | the case if you save it to disk and launch it in a different way | 399 | the case if you save it to disk and launch it in a different way |
| 400 | (command line or double-clicking). Anyhow, if you want to be sure not | 400 | (command line or double-clicking). Anyhow, if you want to be sure not |
| 401 | to launch any external programs, set this variable to @code{nil} or | 401 | to launch any external programs, set this variable to @code{nil} or |
| @@ -1327,8 +1327,8 @@ RFC2047 specifies two forms of encoding---@code{Q} (a | |||
| 1327 | Quoted-Printable-like encoding) and @code{B} (base64). This alist | 1327 | Quoted-Printable-like encoding) and @code{B} (base64). This alist |
| 1328 | specifies which charset should use which encoding. | 1328 | specifies which charset should use which encoding. |
| 1329 | 1329 | ||
| 1330 | @item rfc2047-encoding-function-alist | 1330 | @item rfc2047-encode-function-alist |
| 1331 | @vindex rfc2047-encoding-function-alist | 1331 | @vindex rfc2047-encode-function-alist |
| 1332 | This is an alist of encoding / function pairs. The encodings are | 1332 | This is an alist of encoding / function pairs. The encodings are |
| 1333 | @code{Q}, @code{B} and @code{nil}. | 1333 | @code{Q}, @code{B} and @code{nil}. |
| 1334 | 1334 | ||
| @@ -1336,6 +1336,11 @@ This is an alist of encoding / function pairs. The encodings are | |||
| 1336 | @vindex rfc2047-encoded-word-regexp | 1336 | @vindex rfc2047-encoded-word-regexp |
| 1337 | When decoding words, this library looks for matches to this regexp. | 1337 | When decoding words, this library looks for matches to this regexp. |
| 1338 | 1338 | ||
| 1339 | @item rfc2047-encode-encoded-words | ||
| 1340 | @vindex rfc2047-encode-encoded-words | ||
| 1341 | The boolean variable specifies whether encoded words | ||
| 1342 | (e.g. @samp{=?hello?=}) should be encoded again. | ||
| 1343 | |||
| 1339 | @end table | 1344 | @end table |
| 1340 | 1345 | ||
| 1341 | Those were the variables, and these are this functions: | 1346 | Those were the variables, and these are this functions: |
| @@ -1366,6 +1371,24 @@ Decode the encoded words in the region. | |||
| 1366 | @findex rfc2047-decode-string | 1371 | @findex rfc2047-decode-string |
| 1367 | Decode a string and return the results. | 1372 | Decode a string and return the results. |
| 1368 | 1373 | ||
| 1374 | @item rfc2047-encode-parameter | ||
| 1375 | @findex rfc2047-encode-parameter | ||
| 1376 | Encode a parameter in the RFC2047-like style. This is a replacement for | ||
| 1377 | the @code{rfc2231-encode-string} function. @xref{rfc2231}. | ||
| 1378 | |||
| 1379 | When attaching files as @acronym{MIME} parts, we should use the RFC2231 | ||
| 1380 | encoding to specify the file names containing non-@acronym{ASCII} | ||
| 1381 | characters. However, many mail softwares don't support it in practice | ||
| 1382 | and recipients won't be able to extract files with correct names. | ||
| 1383 | Instead, the RFC2047-like encoding is acceptable generally. This | ||
| 1384 | function provides the very RFC2047-like encoding, resigning to such a | ||
| 1385 | regrettable trend. To use it, put the following line in your | ||
| 1386 | @file{~/.gnus.el} file: | ||
| 1387 | |||
| 1388 | @lisp | ||
| 1389 | (defalias 'mail-header-encode-parameter 'rfc2047-encode-parameter) | ||
| 1390 | @end lisp | ||
| 1391 | |||
| 1369 | @end table | 1392 | @end table |
| 1370 | 1393 | ||
| 1371 | 1394 | ||
diff --git a/man/emacs.texi b/man/emacs.texi index 86b42baefc6..0ad3a5148c9 100644 --- a/man/emacs.texi +++ b/man/emacs.texi | |||
| @@ -224,11 +224,13 @@ Recovery from Problems | |||
| 224 | * Contributing:: How to contribute improvements to Emacs. | 224 | * Contributing:: How to contribute improvements to Emacs. |
| 225 | * Service:: How to get help for your own Emacs needs. | 225 | * Service:: How to get help for your own Emacs needs. |
| 226 | 226 | ||
| 227 | |||
| 228 | Detailed Node Listing | ||
| 229 | --------------------- | ||
| 230 | |||
| 227 | Here are some other nodes which are really inferiors of the ones | 231 | Here are some other nodes which are really inferiors of the ones |
| 228 | already listed, mentioned here so you can get to them in one step: | 232 | already listed, mentioned here so you can get to them in one step: |
| 229 | 233 | ||
| 230 | --- The Detailed Node Listing --- | ||
| 231 | |||
| 232 | The Organization of the Screen | 234 | The Organization of the Screen |
| 233 | 235 | ||
| 234 | * Point:: The place in the text where editing commands operate. | 236 | * Point:: The place in the text where editing commands operate. |
| @@ -563,6 +565,8 @@ Compiling and Testing Programs | |||
| 563 | * Compilation Mode:: The mode for visiting compiler errors. | 565 | * Compilation Mode:: The mode for visiting compiler errors. |
| 564 | * Compilation Shell:: Customizing your shell properly | 566 | * Compilation Shell:: Customizing your shell properly |
| 565 | for use in the compilation buffer. | 567 | for use in the compilation buffer. |
| 568 | * Grep Searching:: Searching with grep. | ||
| 569 | * Flymake:: Finding syntax errors on the fly. | ||
| 566 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. | 570 | * Debuggers:: Running symbolic debuggers for non-Lisp programs. |
| 567 | * Executing Lisp:: Various modes for editing Lisp programs, | 571 | * Executing Lisp:: Various modes for editing Lisp programs, |
| 568 | with different facilities for running | 572 | with different facilities for running |
| @@ -676,6 +680,9 @@ Dired, the Directory Editor | |||
| 676 | * Hiding Subdirectories:: Making subdirectories visible or invisible. | 680 | * Hiding Subdirectories:: Making subdirectories visible or invisible. |
| 677 | * Dired Updating:: Discarding lines for files of no interest. | 681 | * Dired Updating:: Discarding lines for files of no interest. |
| 678 | * Dired and Find:: Using `find' to choose the files for Dired. | 682 | * Dired and Find:: Using `find' to choose the files for Dired. |
| 683 | * Dired and Find:: Using `find' to choose the files for Dired. | ||
| 684 | * Wdired:: Operating on files by editing the Dired buffer. | ||
| 685 | * Misc Dired Features:: Various other features. | ||
| 679 | 686 | ||
| 680 | The Calendar and the Diary | 687 | The Calendar and the Diary |
| 681 | 688 | ||
diff --git a/man/files.texi b/man/files.texi index 1e40651a4ce..a03bb2a64ea 100644 --- a/man/files.texi +++ b/man/files.texi | |||
| @@ -238,7 +238,7 @@ or tool bar) use the toolkit's standard File Selection dialog instead | |||
| 238 | of prompting for the file name in the minibuffer. On Unix and | 238 | of prompting for the file name in the minibuffer. On Unix and |
| 239 | GNU/Linux platforms, Emacs does that when built with GTK, LessTif, and | 239 | GNU/Linux platforms, Emacs does that when built with GTK, LessTif, and |
| 240 | Motif toolkits; on MS-Windows, the GUI version does that by default. | 240 | Motif toolkits; on MS-Windows, the GUI version does that by default. |
| 241 | For information on how to customize this, see @xref{Dialog Boxes}. | 241 | For information on how to customize this, see @ref{Dialog Boxes}. |
| 242 | 242 | ||
| 243 | Secondly, Emacs supports the ``drag and drop'' protocol on the X | 243 | Secondly, Emacs supports the ``drag and drop'' protocol on the X |
| 244 | window system. Dropping a file into an ordinary Emacs window visits | 244 | window system. Dropping a file into an ordinary Emacs window visits |
| @@ -940,14 +940,8 @@ Auto-Revert Tail mode, @kbd{M-x auto-revert-tail-mode}. | |||
| 940 | for a changed file. Since checking a remote file is too slow, these | 940 | for a changed file. Since checking a remote file is too slow, these |
| 941 | modes do not check or revert remote files. | 941 | modes do not check or revert remote files. |
| 942 | 942 | ||
| 943 | @vindex auto-revert-check-vc-info | 943 | @xref{VC Mode Line}, for Auto Revert peculiarities in buffers that |
| 944 | Whenever Auto Revert mode reverts the buffer, it updates the version | 944 | visit files under version control. |
| 945 | control information, such as the version control number displayed in | ||
| 946 | the mode line. However, this information may not be properly updated | ||
| 947 | if the version control state changes outside of Emacs---for example, | ||
| 948 | if a new version is checked in from outside the current Emacs session. | ||
| 949 | If you set @code{auto-revert-check-vc-info} to @code{t}, Auto Revert | ||
| 950 | mode will update the version control status information periodically. | ||
| 951 | 945 | ||
| 952 | @node Auto Save | 946 | @node Auto Save |
| 953 | @section Auto-Saving: Protection Against Disasters | 947 | @section Auto-Saving: Protection Against Disasters |
| @@ -1272,6 +1266,10 @@ as multiple branches, are not available with SCCS. You should use | |||
| 1272 | SCCS only if for some reason you cannot use RCS, or one of the | 1266 | SCCS only if for some reason you cannot use RCS, or one of the |
| 1273 | higher-level systems such as CVS or GNU Arch. | 1267 | higher-level systems such as CVS or GNU Arch. |
| 1274 | 1268 | ||
| 1269 | In the following, we discuss mainly RCS, SCCS and CVS. Nearly | ||
| 1270 | everything said about CVS applies to Gnu Arch, Subversion and Meta-CVS | ||
| 1271 | as well. | ||
| 1272 | |||
| 1275 | @node VC Concepts | 1273 | @node VC Concepts |
| 1276 | @subsubsection Concepts of Version Control | 1274 | @subsubsection Concepts of Version Control |
| 1277 | 1275 | ||
| @@ -1371,6 +1369,18 @@ locking is not in use). @samp{:} indicates that the file is locked, or | |||
| 1371 | that it is modified. If the file is locked by some other user (for | 1369 | that it is modified. If the file is locked by some other user (for |
| 1372 | instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. | 1370 | instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}. |
| 1373 | 1371 | ||
| 1372 | @vindex auto-revert-check-vc-info | ||
| 1373 | When Auto Revert mode (@pxref{Reverting}) reverts a buffer that is | ||
| 1374 | under version control, it updates the version control information in | ||
| 1375 | the mode line. However, Auto Revert mode may not properly update this | ||
| 1376 | information if the version control status changes without changes to | ||
| 1377 | the work file, from outside the current Emacs session. If you set | ||
| 1378 | @code{auto-revert-check-vc-info} to @code{t}, Auto Revert mode updates | ||
| 1379 | the version control status information every | ||
| 1380 | @code{auto-revert-interval} seconds, even if the work file itself is | ||
| 1381 | unchanged. The resulting CPU usage depends on the version control | ||
| 1382 | system, but is usually not excessive. | ||
| 1383 | |||
| 1374 | @node Basic VC Editing | 1384 | @node Basic VC Editing |
| 1375 | @subsection Basic Editing under Version Control | 1385 | @subsection Basic Editing under Version Control |
| 1376 | 1386 | ||
| @@ -1472,9 +1482,9 @@ informs you if another user has checked in changes in the same file | |||
| 1472 | since you began editing it, and when this happens, his changes will be | 1482 | since you began editing it, and when this happens, his changes will be |
| 1473 | effectively removed when you check in your version (though they will | 1483 | effectively removed when you check in your version (though they will |
| 1474 | remain in the master file, so they will not be entirely lost). You must | 1484 | remain in the master file, so they will not be entirely lost). You must |
| 1475 | therefore verify the current version is unchanged, before you check in your | 1485 | therefore verify that the current version is unchanged, before you |
| 1476 | changes. We hope to eliminate this risk and provide automatic merging | 1486 | check in your changes. We hope to eliminate this risk and provide |
| 1477 | with RCS in a future Emacs version. | 1487 | automatic merging with RCS in a future Emacs version. |
| 1478 | 1488 | ||
| 1479 | In addition, locking is possible with RCS even in this mode, although | 1489 | In addition, locking is possible with RCS even in this mode, although |
| 1480 | it is not required; @kbd{C-x v v} with an unmodified file locks the | 1490 | it is not required; @kbd{C-x v v} with an unmodified file locks the |
| @@ -1698,13 +1708,10 @@ there is more than one system in use for a directory, Emacs uses the one | |||
| 1698 | that appears first in @code{vc-handled-backends} (@pxref{Customizing VC}). | 1708 | that appears first in @code{vc-handled-backends} (@pxref{Customizing VC}). |
| 1699 | On the other hand, if there are no files already registered, | 1709 | On the other hand, if there are no files already registered, |
| 1700 | Emacs uses the first system from @code{vc-handled-backends} that could | 1710 | Emacs uses the first system from @code{vc-handled-backends} that could |
| 1701 | register the file---for example, you cannot register a file under CVS if | 1711 | register the file (for example, you cannot register a file under CVS if |
| 1702 | its directory is not already part of a CVS tree. | 1712 | its directory is not already part of a CVS tree); with the default |
| 1703 | 1713 | value of @code{vc-handled-backends}, this means that Emacs uses RCS in | |
| 1704 | With the default value of @code{vc-handled-backends}, this means | 1714 | this situation. |
| 1705 | that Emacs uses RCS if there are any files under RCS control, CVS if | ||
| 1706 | there are any files under CVS, SCCS if any files are under SCCS, or | ||
| 1707 | RCS as the ultimate default. | ||
| 1708 | 1715 | ||
| 1709 | If locking is in use, @kbd{C-x v i} leaves the file unlocked and | 1716 | If locking is in use, @kbd{C-x v i} leaves the file unlocked and |
| 1710 | read-only. Type @kbd{C-x v v} if you wish to start editing it. After | 1717 | read-only. Type @kbd{C-x v v} if you wish to start editing it. After |
| @@ -1892,7 +1899,8 @@ marked files, so that you can lock or check in several files at once. | |||
| 1892 | If it operates on more than one file, it handles each file according to | 1899 | If it operates on more than one file, it handles each file according to |
| 1893 | its current state; thus, it might lock one file, but check in another | 1900 | its current state; thus, it might lock one file, but check in another |
| 1894 | file. This could be confusing; it is up to you to avoid confusing | 1901 | file. This could be confusing; it is up to you to avoid confusing |
| 1895 | behavior by marking a set of files that are in a similar state. | 1902 | behavior by marking a set of files that are in a similar state. If no |
| 1903 | files are marked, @kbd{v v} operates on the file in the current line. | ||
| 1896 | 1904 | ||
| 1897 | If any files call for check-in, @kbd{v v} reads a single log entry, | 1905 | If any files call for check-in, @kbd{v v} reads a single log entry, |
| 1898 | then uses it for all the files being checked in. This is convenient for | 1906 | then uses it for all the files being checked in. This is convenient for |
| @@ -1920,8 +1928,7 @@ program in which you are gradually adding various unfinished new | |||
| 1920 | features. Each such independent line of development is called a | 1928 | features. Each such independent line of development is called a |
| 1921 | @dfn{branch}. VC allows you to create branches, switch between | 1929 | @dfn{branch}. VC allows you to create branches, switch between |
| 1922 | different branches, and merge changes from one branch to another. | 1930 | different branches, and merge changes from one branch to another. |
| 1923 | Please note, however, that branches are only supported for RCS at the | 1931 | Please note, however, that branches are not supported for SCCS. |
| 1924 | moment. | ||
| 1925 | 1932 | ||
| 1926 | A file's main line of development is usually called the @dfn{trunk}. | 1933 | A file's main line of development is usually called the @dfn{trunk}. |
| 1927 | The versions on the trunk are normally numbered 1.1, 1.2, 1.3, etc. At | 1934 | The versions on the trunk are normally numbered 1.1, 1.2, 1.3, etc. At |
| @@ -2264,7 +2271,8 @@ But if you do this, the revision numbers in the RCS master no longer | |||
| 2264 | correspond to those of CVS. Technically, this is not a problem, but | 2271 | correspond to those of CVS. Technically, this is not a problem, but |
| 2265 | it can become difficult to keep track of what is in the CVS repository | 2272 | it can become difficult to keep track of what is in the CVS repository |
| 2266 | and what is not. So we suggest that you return from time to time to | 2273 | and what is not. So we suggest that you return from time to time to |
| 2267 | CVS-only operation, using @kbd{C-u C-x v v cvs @key{RET}}. | 2274 | CVS-only operation, by committing your local changes back to the |
| 2275 | repository using @kbd{C-u C-x v v cvs @key{RET}}. | ||
| 2268 | 2276 | ||
| 2269 | @node Snapshots | 2277 | @node Snapshots |
| 2270 | @subsection Snapshots | 2278 | @subsection Snapshots |
| @@ -2552,13 +2560,11 @@ insert a suitable header string. | |||
| 2552 | Insert headers in a file for use with your version-control system. | 2560 | Insert headers in a file for use with your version-control system. |
| 2553 | @end table | 2561 | @end table |
| 2554 | 2562 | ||
| 2555 | @vindex vc-header-alist | 2563 | @vindex vc-@var{backend}-header |
| 2556 | The default header string is @samp{@w{$}Id$} for RCS and | 2564 | The default header string is @samp{@w{$}Id$} for RCS and |
| 2557 | @samp{@w{%}W%} for SCCS. You can specify other headers to insert by | 2565 | @samp{@w{%}W%} for SCCS. You can specify other headers to insert by |
| 2558 | setting the variable @code{vc-header-alist}. Its value is a list of | 2566 | setting the variables @code{vc-@var{backend}-header} where |
| 2559 | elements of the form @code{(@var{program} . @var{string})} where | 2567 | @var{backend} is @code{rcs} or @code{sccs}. |
| 2560 | @var{program} is @code{RCS} or @code{SCCS} and @var{string} is the | ||
| 2561 | string to use. | ||
| 2562 | 2568 | ||
| 2563 | Instead of a single string, you can specify a list of strings; then | 2569 | Instead of a single string, you can specify a list of strings; then |
| 2564 | each string in the list is inserted as a separate header on a line of | 2570 | each string in the list is inserted as a separate header on a line of |
| @@ -2586,8 +2592,8 @@ elements of the form @code{(@var{regexp} . @var{format})}. Whenever | |||
| 2586 | @var{regexp} matches the buffer name, @var{format} is inserted as part | 2592 | @var{regexp} matches the buffer name, @var{format} is inserted as part |
| 2587 | of the header. A header line is inserted for each element that matches | 2593 | of the header. A header line is inserted for each element that matches |
| 2588 | the buffer name, and for each string specified by | 2594 | the buffer name, and for each string specified by |
| 2589 | @code{vc-header-alist}. The header line is made by processing the | 2595 | @code{vc-@var{backend}-header}. The header line is made by processing the |
| 2590 | string from @code{vc-header-alist} with the format taken from the | 2596 | string from @code{vc-@var{backend}-header} with the format taken from the |
| 2591 | element. The default value for @code{vc-static-header-alist} is as follows: | 2597 | element. The default value for @code{vc-static-header-alist} is as follows: |
| 2592 | 2598 | ||
| 2593 | @example | 2599 | @example |
| @@ -2624,10 +2630,10 @@ headers. | |||
| 2624 | @vindex vc-handled-backends | 2630 | @vindex vc-handled-backends |
| 2625 | The variable @code{vc-handled-backends} determines which version | 2631 | The variable @code{vc-handled-backends} determines which version |
| 2626 | control systems VC should handle. The default value is @code{(RCS CVS | 2632 | control systems VC should handle. The default value is @code{(RCS CVS |
| 2627 | SCCS)}, so it contains all three version systems that are currently | 2633 | SVN SCCS Arch MCVS)}, so it contains all six version systems that are |
| 2628 | supported. If you want VC to ignore one or more of these systems, | 2634 | currently supported. If you want VC to ignore one or more of these |
| 2629 | exclude its name from the list. To disable VC entirely, set this | 2635 | systems, exclude its name from the list. To disable VC entirely, set |
| 2630 | variable to @code{nil}. | 2636 | this variable to @code{nil}. |
| 2631 | 2637 | ||
| 2632 | The order of systems in the list is significant: when you visit a file | 2638 | The order of systems in the list is significant: when you visit a file |
| 2633 | registered in more than one system (@pxref{Local Version Control}), | 2639 | registered in more than one system (@pxref{Local Version Control}), |
| @@ -2780,8 +2786,9 @@ pick up any recent changes from the repository first, using @kbd{C-x v m | |||
| 2780 | @key{RET}}, @pxref{Merging}). | 2786 | @key{RET}}, @pxref{Merging}). |
| 2781 | 2787 | ||
| 2782 | @vindex vc-cvs-global-switches | 2788 | @vindex vc-cvs-global-switches |
| 2783 | The variable @code{vc-cvs-global-switches} should be a string | 2789 | The variable @code{vc-cvs-global-switches}, if non-@code{nil}, |
| 2784 | specifying switches to pass to CVS for all CVS operations. | 2790 | should be a string specifying switches to pass to CVS for all CVS |
| 2791 | operations. | ||
| 2785 | 2792 | ||
| 2786 | When @code{vc-cvs-stay-local} is @code{t}, VC also makes local | 2793 | When @code{vc-cvs-stay-local} is @code{t}, VC also makes local |
| 2787 | version backups, so that simple diff and revert operations are | 2794 | version backups, so that simple diff and revert operations are |
| @@ -2900,7 +2907,7 @@ the command is finished. For more information about windows in Emacs, | |||
| 2900 | With a numeric argument, @code{compare-windows} ignores changes in | 2907 | With a numeric argument, @code{compare-windows} ignores changes in |
| 2901 | whitespace. If the variable @code{compare-ignore-case} is | 2908 | whitespace. If the variable @code{compare-ignore-case} is |
| 2902 | non-@code{nil}, the comparison ignores differences in case as well. | 2909 | non-@code{nil}, the comparison ignores differences in case as well. |
| 2903 | If the variable @code{compare-ignore-whitespace} is non-nil, | 2910 | If the variable @code{compare-ignore-whitespace} is non-@code{nil}, |
| 2904 | @code{compare-windows} normally ignores changes in whitespace, and a | 2911 | @code{compare-windows} normally ignores changes in whitespace, and a |
| 2905 | prefix argument turns that off. | 2912 | prefix argument turns that off. |
| 2906 | 2913 | ||
| @@ -3298,6 +3305,10 @@ Clear the cache; that is, remove all file names from it. | |||
| 3298 | @node File Conveniences | 3305 | @node File Conveniences |
| 3299 | @section Convenience Features for Finding Files | 3306 | @section Convenience Features for Finding Files |
| 3300 | 3307 | ||
| 3308 | In this section, we introduce some convenient facilities for finding | ||
| 3309 | recently-opened files, reading file names from a buffer, and viewing | ||
| 3310 | image files. | ||
| 3311 | |||
| 3301 | @findex recentf-mode | 3312 | @findex recentf-mode |
| 3302 | @vindex recentf-mode | 3313 | @vindex recentf-mode |
| 3303 | @findex recentf-save-list | 3314 | @findex recentf-save-list |
| @@ -3308,25 +3319,22 @@ opened files. @kbd{M-x recentf-save-list} saves the current | |||
| 3308 | @code{recent-file-list} to a file, and @kbd{M-x recentf-edit-list} | 3319 | @code{recent-file-list} to a file, and @kbd{M-x recentf-edit-list} |
| 3309 | edits it. | 3320 | edits it. |
| 3310 | 3321 | ||
| 3311 | @findex auto-image-file-mode | ||
| 3312 | @findex mode, auto-image-file | ||
| 3313 | @cindex images, visiting | ||
| 3314 | @cindex visiting image files | ||
| 3315 | @vindex image-file-name-regexps | ||
| 3316 | @vindex image-file-name-extensions | ||
| 3317 | When Auto-image-file minor mode is enabled, visiting an image file | ||
| 3318 | displays it as an image, not as text. Likewise, inserting an image | ||
| 3319 | file into a buffer inserts it as an image. This works only when Emacs | ||
| 3320 | can display the relevant image type. The variables | ||
| 3321 | @code{image-file-name-extensions} or @code{image-file-name-regexps} | ||
| 3322 | control which file names are recognized as containing images. | ||
| 3323 | |||
| 3324 | The @kbd{M-x ffap} command generalizes @code{find-file} with more | 3322 | The @kbd{M-x ffap} command generalizes @code{find-file} with more |
| 3325 | powerful heuristic defaults (@pxref{FFAP}), often based on the text at | 3323 | powerful heuristic defaults (@pxref{FFAP}), often based on the text at |
| 3326 | point. Partial Completion mode offers other features extending | 3324 | point. Partial Completion mode offers other features extending |
| 3327 | @code{find-file}, which can be used with @code{ffap}. | 3325 | @code{find-file}, which can be used with @code{ffap}. |
| 3328 | @xref{Completion Options}. | 3326 | @xref{Completion Options}. |
| 3329 | 3327 | ||
| 3328 | @findex thumbs-mode | ||
| 3329 | @findex mode, thumbs | ||
| 3330 | Thumbs mode is a major mode for viewing directories containing many | ||
| 3331 | image files. To use it, type @kbd{M-x thumbs} and specify the | ||
| 3332 | directory to view. The images in that directory will be displayed in | ||
| 3333 | a @samp{Thumbs} buffer as @dfn{thumbnails}; type @kbd{RET} on a | ||
| 3334 | thumbnail to view the full-size image. Thumbs mode requires the | ||
| 3335 | @file{convert} program, which is part of the ImageMagick software | ||
| 3336 | package. | ||
| 3337 | |||
| 3330 | @ignore | 3338 | @ignore |
| 3331 | arch-tag: 768d32cb-e15a-4cc1-b7bf-62c00ee12250 | 3339 | arch-tag: 768d32cb-e15a-4cc1-b7bf-62c00ee12250 |
| 3332 | @end ignore | 3340 | @end ignore |
diff --git a/man/gnus-faq.texi b/man/gnus-faq.texi index 42266aa4646..742227b64fc 100644 --- a/man/gnus-faq.texi +++ b/man/gnus-faq.texi | |||
| @@ -1,210 +1,203 @@ | |||
| 1 | @c Insert "\input texinfo" at 1st line before texing this file alone. | 1 | @c \input texinfo @c -*-texinfo-*- |
| 2 | @c -*-texinfo-*- | 2 | @c Uncomment 1st line before texing this file alone. |
| 3 | @c Copyright (C) 1995, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. | 3 | @c %**start of header |
| 4 | @c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. | ||
| 5 | @c | ||
| 6 | @c Do not modify this file, it was generated from gnus-faq.xml, available from | ||
| 7 | @c <URL:http://my.gnus.org/FAQ/>. | ||
| 8 | @c | ||
| 4 | @setfilename gnus-faq.info | 9 | @setfilename gnus-faq.info |
| 5 | 10 | @settitle Frequently Asked Questions | |
| 6 | @c Frequently Asked Questions, FAQ - Introduction, Emacs for Heathens, Top | 11 | @c %**end of header |
| 12 | @c | ||
| 7 | 13 | ||
| 8 | @node Frequently Asked Questions | 14 | @node Frequently Asked Questions |
| 9 | @comment node-name, next, previous, up | ||
| 10 | |||
| 11 | @c @chapter Frequently Asked Questions | ||
| 12 | @section Frequently Asked Questions | 15 | @section Frequently Asked Questions |
| 13 | @cindex FAQ | ||
| 14 | @cindex Frequently Asked Questions | ||
| 15 | |||
| 16 | @c - Uncomment @chapter, comment @section | ||
| 17 | @c - run (texinfo-every-node-update) | ||
| 18 | @c - revert it. | ||
| 19 | 16 | ||
| 20 | @menu | 17 | @menu |
| 21 | * FAQ - Introduction:: About Gnus and this FAQ. | 18 | * FAQ - Changes:: |
| 22 | * FAQ 1 - Installation:: Installation of Gnus. | 19 | * FAQ - Introduction:: About Gnus and this FAQ. |
| 23 | * FAQ 2 - Startup / Group buffer:: Start up questions and the first | 20 | * FAQ 1 - Installation FAQ:: Installation of Gnus. |
| 24 | buffer Gnus shows you. | 21 | * FAQ 2 - Startup / Group buffer:: Start up questions and the |
| 25 | * FAQ 3 - Getting messages:: Making Gnus read your mail and news. | 22 | first buffer Gnus shows you. |
| 26 | * FAQ 4 - Reading messages:: How to efficiently read messages. | 23 | * FAQ 3 - Getting Messages:: Making Gnus read your mail |
| 27 | * FAQ 5 - Composing messages:: Composing mails or Usenet postings. | 24 | and news. |
| 28 | * FAQ 6 - Old messages:: Importing, archiving, searching | 25 | * FAQ 4 - Reading messages:: How to efficiently read |
| 29 | and deleting messages. | 26 | messages. |
| 30 | * FAQ 7 - Gnus in a dial-up environment:: Reading mail and news while offline. | 27 | * FAQ 5 - Composing messages:: Composing mails or Usenet |
| 31 | * FAQ 8 - Getting help:: When this FAQ isn't enough. | 28 | postings. |
| 32 | * FAQ 9 - Tuning Gnus:: How to make Gnus faster. | 29 | * FAQ 6 - Old messages:: Importing, archiving, |
| 33 | * FAQ - Glossary:: Terms used in the FAQ explained. | 30 | searching and deleting messages. |
| 31 | * FAQ 7 - Gnus in a dial-up environment:: Reading mail and news while | ||
| 32 | offline. | ||
| 33 | * FAQ 8 - Getting help:: When this FAQ isn't enough. | ||
| 34 | * FAQ 9 - Tuning Gnus:: How to make Gnus faster. | ||
| 35 | * FAQ - Glossary:: Terms used in the FAQ | ||
| 36 | explained. | ||
| 34 | @end menu | 37 | @end menu |
| 35 | 38 | ||
| 36 | |||
| 37 | @subheading Abstract | 39 | @subheading Abstract |
| 38 | 40 | ||
| 39 | This is the new Gnus Frequently Asked Questions list. If you have a | 41 | This is the new Gnus Frequently Asked Questions list. |
| 40 | Web browser, the official hypertext version is at | 42 | If you have a Web browser, the official hypertext version is at |
| 41 | @uref{http://my.gnus.org/FAQ/}, the Docbook source is available from | 43 | @uref{http://my.gnus.org/FAQ/}, |
| 42 | @uref{http://sourceforge.net/projects/gnus/}. | 44 | the Docbook source is available from |
| 43 | 45 | @uref{http://sourceforge.net/projects/gnus/, http://sourceforge.net}. | |
| 44 | 46 | ||
| 45 | Please submit features and suggestions to the | 47 | Please submit features and suggestions to the |
| 46 | @email{faq-discuss@@my.gnus.org,FAQ discussion list}. | 48 | @email{faq-discuss@@my.gnus.org, FAQ discussion list}. |
| 47 | The list is protected against junk mail with | 49 | The list is protected against junk mail with |
| 48 | @uref{http://smarden.org/qconfirm/index.html,qconfirm, qconfirm}. As | 50 | @uref{http://smarden.org/qconfirm/index.html, qconfirm}. As |
| 49 | a subscriber, your submissions will automatically pass. You can | 51 | a subscriber, your submissions will automatically pass. You can |
| 50 | also subscribe to the list by sending a blank email to | 52 | also subscribe to the list by sending a blank email to |
| 51 | @email{faq-discuss-subscribe@@my.gnus.org} | 53 | @email{faq-discuss-subscribe@@my.gnus.org, faq-discuss-subscribe@@my.gnus.org} |
| 52 | and | 54 | and @uref{http://mail1.kens.com/cgi-bin/ezmlm-browse?command=monthbythread%26list=faq-discuss, browse |
| 53 | @uref{http://mail1.kens.com/cgi-bin/ezmlm-browse?command=monthbythread%26list=faq-discuss,browse | 55 | the archive}. |
| 54 | the archive, browse the archive}. | ||
| 55 | |||
| 56 | @node FAQ - Introduction, FAQ 1 - Installation, Frequently Asked Questions, Frequently Asked Questions | ||
| 57 | @comment node-name, next, previous, up | ||
| 58 | @heading Introduction | ||
| 59 | 56 | ||
| 60 | This is the Gnus Frequently Asked Questions list. | 57 | @node FAQ - Changes |
| 58 | @subheading Changes | ||
| 61 | 59 | ||
| 62 | Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented | ||
| 63 | as a part of Emacs. It's been around in some form for almost a decade | ||
| 64 | now, and has been distributed as a standard part of Emacs for much of | ||
| 65 | that time. Gnus 5 is the latest (and greatest) incarnation. The | ||
| 66 | original version was called GNUS, and was written by Masanobu UMEDA. | ||
| 67 | When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and | ||
| 68 | decided to rewrite Gnus. | ||
| 69 | |||
| 70 | Its biggest strength is the fact that it is extremely | ||
| 71 | customizable. It is somewhat intimidating at first glance, but | ||
| 72 | most of the complexity can be ignored until you're ready to take | ||
| 73 | advantage of it. If you receive a reasonable volume of e-mail | ||
| 74 | (you're on various mailing lists), or you would like to read | ||
| 75 | high-volume mailing lists but cannot keep up with them, or read | ||
| 76 | high volume newsgroups or are just bored, then Gnus is what you | ||
| 77 | want. | ||
| 78 | |||
| 79 | This FAQ was maintained by Justin Sheehy until March 2002. He | ||
| 80 | would like to thank Steve Baur and Per Abrahamsen for doing a wonderful | ||
| 81 | job with this FAQ before him. We would like to do the same - thanks, | ||
| 82 | Justin! | ||
| 83 | |||
| 84 | 60 | ||
| 85 | If you have a Web browser, the official hypertext version is at:@* | ||
| 86 | @uref{http://my.gnus.org/FAQ/}. | ||
| 87 | This version is much nicer than the unofficial hypertext | ||
| 88 | versions that are archived at Utrecht, Oxford, Smart Pages, Ohio | ||
| 89 | State, and other FAQ archives. See the resources question below | ||
| 90 | if you want information on obtaining it in another format. | ||
| 91 | |||
| 92 | 61 | ||
| 93 | The information contained here was compiled with the assistance | 62 | @itemize @bullet |
| 94 | of the Gnus development mailing list, and any errors or | 63 | |
| 95 | misprints are the my.gnus.org team's fault, sorry. | 64 | @item |
| 65 | Updated FAQ to reflect release of Gnus 5.10 and start of | ||
| 66 | No Gnus development. | ||
| 67 | @end itemize | ||
| 96 | 68 | ||
| 69 | @node FAQ - Introduction | ||
| 70 | @subheading Introduction | ||
| 71 | |||
| 72 | This is the Gnus Frequently Asked Questions list. | ||
| 97 | 73 | ||
| 98 | @ifnottex | 74 | Gnus is a Usenet Newsreader and Electronic Mail User Agent implemented |
| 99 | @node FAQ 1 - Installation, FAQ 2 - Startup / Group buffer, FAQ - Introduction, Frequently Asked Questions | 75 | as a part of Emacs. It's been around in some form for almost a decade |
| 100 | @end ifnottex | 76 | now, and has been distributed as a standard part of Emacs for much of |
| 101 | @subsection Installation | 77 | that time. Gnus 5 is the latest (and greatest) incarnation. The |
| 78 | original version was called GNUS, and was written by Masanobu UMEDA. | ||
| 79 | When autumn crept up in '94, Lars Magne Ingebrigtsen grew bored and | ||
| 80 | decided to rewrite Gnus. | ||
| 81 | |||
| 82 | Its biggest strength is the fact that it is extremely | ||
| 83 | customizable. It is somewhat intimidating at first glance, but | ||
| 84 | most of the complexity can be ignored until you're ready to take | ||
| 85 | advantage of it. If you receive a reasonable volume of e-mail | ||
| 86 | (you're on various mailing lists), or you would like to read | ||
| 87 | high-volume mailing lists but cannot keep up with them, or read | ||
| 88 | high volume newsgroups or are just bored, then Gnus is what you | ||
| 89 | want. | ||
| 90 | |||
| 91 | This FAQ was maintained by Justin Sheehy until March 2002. He | ||
| 92 | would like to thank Steve Baur and Per Abrahamsen for doing a wonderful | ||
| 93 | job with this FAQ before him. We would like to do the same - thanks, | ||
| 94 | Justin! | ||
| 95 | |||
| 96 | If you have a Web browser, the official hypertext version is at: | ||
| 97 | @uref{http://my.gnus.org/FAQ/}. | ||
| 98 | This version is much nicer than the unofficial hypertext | ||
| 99 | versions that are archived at Utrecht, Oxford, Smart Pages, Ohio | ||
| 100 | State, and other FAQ archives. See the resources question below | ||
| 101 | if you want information on obtaining it in another format. | ||
| 102 | |||
| 103 | The information contained here was compiled with the assistance | ||
| 104 | of the Gnus development mailing list, and any errors or | ||
| 105 | misprints are the my.gnus.org team's fault, sorry. | ||
| 106 | |||
| 107 | @node FAQ 1 - Installation FAQ | ||
| 108 | @subsection Installation FAQ | ||
| 102 | 109 | ||
| 103 | @menu | 110 | @menu |
| 104 | * [1.1]:: What is the latest version of Gnus? | 111 | * [1.1]:: What is the latest version of Gnus? |
| 105 | * [1.2]:: What's new in 5.10? | 112 | * [1.2]:: What's new in 5.10? |
| 106 | * [1.3]:: Where and how to get Gnus? | 113 | * [1.3]:: Where and how to get Gnus? |
| 107 | * [1.4]:: What to do with the tarball now? | 114 | * [1.4]:: What to do with the tarball now? |
| 108 | * [1.5]:: Which version of Emacs do I need? | 115 | * [1.5]:: I sometimes read references to No Gnus and Oort Gnus, what |
| 109 | * [1.6]:: How do I run Gnus on both Emacs and XEmacs? | 116 | are those? |
| 117 | * [1.6]:: Which version of Emacs do I need? | ||
| 118 | * [1.7]:: How do I run Gnus on both Emacs and XEmacs? | ||
| 110 | @end menu | 119 | @end menu |
| 111 | 120 | ||
| 112 | 121 | @node [1.1] | |
| 113 | @ifnottex | 122 | @subsubheading Question 1.1 |
| 114 | @node [1.1], [1.2], FAQ 1 - Installation, FAQ 1 - Installation | ||
| 115 | @end ifnottex | ||
| 116 | @subsubheading Question 1.1: | ||
| 117 | 123 | ||
| 118 | What is the latest version of Gnus? | 124 | What is the latest version of Gnus? |
| 119 | 125 | ||
| 120 | Answer: | 126 | @subsubheading Answer |
| 121 | 127 | ||
| 122 | Jingle please: Gnus 5.10 is released, get it while it's | 128 | Jingle please: Gnus 5.10 is released, get it while it's |
| 123 | hot! As well as the step in version number is rather | 129 | hot! As well as the step in version number is rather |
| 124 | small, Gnus 5.10 has tons of new features which you | 130 | small, Gnus 5.10 has tons of new features which you |
| 125 | shouldn't miss, however if you are cautious, you might | 131 | shouldn't miss. The current release (5.10.6) should be at |
| 126 | prefer to stay with 5.8.8 respectively 5.9 (they are | 132 | least as stable as the latest release of the 5.8 series. |
| 127 | basically the same) until some bugfix releases are out. | ||
| 128 | |||
| 129 | @ifnottex | ||
| 130 | @node [1.2], [1.3], [1.1], FAQ 1 - Installation | ||
| 131 | @end ifnottex | ||
| 132 | @subsubheading Question 1.2: | ||
| 133 | 133 | ||
| 134 | What's new in 5.10? | 134 | @node [1.2] |
| 135 | @subsubheading Question 1.2 | ||
| 135 | 136 | ||
| 136 | Answer: | 137 | What's new in 5.10? |
| 137 | 138 | ||
| 138 | First of all, you should have a look into the file | 139 | @subsubheading Answer |
| 139 | GNUS-NEWS in the toplevel directory of the Gnus tarball, | ||
| 140 | there the most important changes are listed. Here's a | ||
| 141 | short list of the changes I find especially | ||
| 142 | important/interesting: | ||
| 143 | |||
| 144 | 140 | ||
| 145 | 141 | First of all, you should have a look into the file | |
| 142 | GNUS-NEWS in the toplevel directory of the Gnus tarball, | ||
| 143 | there the most important changes are listed. Here's a | ||
| 144 | short list of the changes I find especially | ||
| 145 | important/interesting: | ||
| 146 | 146 | ||
| 147 | @itemize @bullet{} | 147 | @itemize @bullet |
| 148 | 148 | ||
| 149 | @item | 149 | @item |
| 150 | Major rewrite of the Gnus agent, Gnus agent is now | 150 | Major rewrite of the Gnus agent, Gnus agent is now |
| 151 | active by default. | 151 | active by default. |
| 152 | 152 | ||
| 153 | @item | 153 | @item |
| 154 | Many new article washing functions for dealing with | 154 | Many new article washing functions for dealing with |
| 155 | ugly formatted articles. | 155 | ugly formatted articles. |
| 156 | 156 | ||
| 157 | @item | 157 | @item |
| 158 | Anti Spam features. | 158 | Anti Spam features. |
| 159 | 159 | ||
| 160 | @item | 160 | @item |
| 161 | message-utils now included in Gnus. | 161 | Message-utils now included in Gnus. |
| 162 | 162 | ||
| 163 | @item | 163 | @item |
| 164 | New format specifiers for summary lines, e.g. %B for | 164 | New format specifiers for summary lines, e.g. %B for |
| 165 | a complex trn-style thread tree. | 165 | a complex trn-style thread tree. |
| 166 | |||
| 167 | @end itemize | 166 | @end itemize |
| 168 | 167 | ||
| 169 | @ifnottex | 168 | @node [1.3] |
| 170 | @node [1.3], [1.4], [1.2], FAQ 1 - Installation | 169 | @subsubheading Question 1.3 |
| 171 | @end ifnottex | ||
| 172 | @subsubheading Question 1.3: | ||
| 173 | 170 | ||
| 174 | Where and how to get Gnus? | 171 | Where and how to get Gnus? |
| 175 | 172 | ||
| 176 | Answer: | 173 | @subsubheading Answer |
| 177 | 174 | ||
| 178 | The latest released version of Gnus isn't included in | 175 | The latest released version of Gnus isn't included in |
| 179 | Emacs 21 and until now it also isn't available through the | 176 | Emacs 21, therefor you should get the Gnus tarball from |
| 180 | package system of XEmacs 21.4, therefor you should get the | 177 | @uref{http://www.gnus.org/dist/gnus.tar.gz} |
| 181 | Gnus tarball from | 178 | or via anonymous FTP from |
| 182 | @uref{http://www.gnus.org/dist/gnus.tar.gz} | 179 | @uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}. |
| 183 | or via anonymous FTP from | 180 | If you use XEmacs instead of Emacs you can use XEmacs' |
| 184 | @uref{ftp://ftp.gnus.org/pub/gnus/gnus.tar.gz}. | 181 | package system instead. |
| 185 | |||
| 186 | @ifnottex | ||
| 187 | @node [1.4], [1.5], [1.3], FAQ 1 - Installation | ||
| 188 | @end ifnottex | ||
| 189 | @subsubheading Question 1.4: | ||
| 190 | 182 | ||
| 191 | What to do with the tarball now? | 183 | @node [1.4] |
| 192 | 184 | @subsubheading Question 1.4 | |
| 193 | 185 | ||
| 194 | Answer: | 186 | What to do with the tarball now? |
| 195 | 187 | ||
| 196 | Untar it via @samp{tar xvzf gnus.tar.gz} and do the common | 188 | @subsubheading Answer |
| 197 | @samp{./configure; make; make install} circle. | 189 | |
| 198 | (under MS-Windows either get the Cygwin environment from | 190 | Untar it via @samp{tar xvzf gnus.tar.gz} and do the common |
| 199 | @uref{http://www.cygwin.com} | 191 | @samp{./configure; make; make install} circle. |
| 200 | which allows you to do what's described above or unpack the | 192 | (under MS-Windows either get the Cygwin environment from |
| 201 | tarball with some packer (e.g. Winace from | 193 | @uref{http://www.cygwin.com} |
| 202 | @uref{http://www.winace.com}) | 194 | which allows you to do what's described above or unpack the |
| 203 | and use the batch-file make.bat included in the tarball to install | 195 | tarball with some packer (e.g. Winace from |
| 204 | Gnus. If you don't want to (or aren't allowed to) install Gnus | 196 | @uref{http://www.winace.com}) |
| 205 | system-wide, you can install it in your home directory and add the | 197 | and use the batch-file make.bat included in the tarball to install |
| 206 | following lines to your ~/.xemacs/init.el or ~/.emacs: | 198 | Gnus.) If you don't want to (or aren't allowed to) install Gnus |
| 207 | 199 | system-wide, you can install it in your home directory and add the | |
| 200 | following lines to your ~/.xemacs/init.el or ~/.emacs: | ||
| 208 | 201 | ||
| 209 | @example | 202 | @example |
| 210 | (add-to-list 'load-path "/path/to/gnus/lisp") | 203 | (add-to-list 'load-path "/path/to/gnus/lisp") |
| @@ -212,436 +205,395 @@ Answer: | |||
| 212 | (add-to-list 'Info-directory-list "/path/to/gnus/texi/") | 205 | (add-to-list 'Info-directory-list "/path/to/gnus/texi/") |
| 213 | (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/")) | 206 | (add-to-list 'Info-default-directory-list "/path/to/gnus/texi/")) |
| 214 | @end example | 207 | @end example |
| 215 | |||
| 216 | @noindent | 208 | @noindent |
| 217 | Make sure that you don't have any Gnus related stuff | 209 | |
| 218 | before this line, on MS Windows use something like | 210 | Make sure that you don't have any Gnus related stuff |
| 219 | "C:/path/to/lisp" (yes, "/"). | 211 | before this line, on MS Windows use something like |
| 220 | 212 | "C:/path/to/lisp" (yes, "/"). | |
| 221 | @ifnottex | 213 | |
| 222 | @node [1.5], [1.6], [1.4], FAQ 1 - Installation | 214 | @node [1.5] |
| 223 | @end ifnottex | 215 | @subsubheading Question 1.5 |
| 224 | @subsubheading Question 1.5: | 216 | |
| 217 | I sometimes read references to No Gnus and Oort Gnus, | ||
| 218 | what are those? | ||
| 219 | |||
| 220 | @subsubheading Answer | ||
| 221 | |||
| 222 | Oort Gnus was the name of the development version of | ||
| 223 | Gnus, which became Gnus 5.10 in autumn 2003. No Gnus is | ||
| 224 | the name of the current development version which will | ||
| 225 | once become Gnus 5.12 or Gnus 6. (If you're wondering why | ||
| 226 | not 5.11, the odd version numbers are normally used for | ||
| 227 | the Gnus versions bundled with Emacs) | ||
| 228 | |||
| 229 | @node [1.6] | ||
| 230 | @subsubheading Question 1.6 | ||
| 225 | 231 | ||
| 226 | Which version of Emacs do I need? | 232 | Which version of Emacs do I need? |
| 227 | 233 | ||
| 228 | Answer: | 234 | @subsubheading Answer |
| 229 | 235 | ||
| 230 | Gnus 5.10 requires an Emacs version that is greater | 236 | Gnus 5.10 requires an Emacs version that is greater |
| 231 | than or equal to Emacs 20.7 or XEmacs 21.1. | 237 | than or equal to Emacs 20.7 or XEmacs 21.1. The |
| 232 | 238 | development versions of Gnus (aka No Gnus) require Emacs | |
| 233 | @ifnottex | 239 | 21 or XEmacs 21.4. |
| 234 | @node [1.6], , [1.5], FAQ 1 - Installation | 240 | |
| 235 | @end ifnottex | 241 | @node [1.7] |
| 236 | @subsubheading Question 1.6: | 242 | @subsubheading Question 1.7 |
| 237 | 243 | ||
| 238 | How do I run Gnus on both Emacs and XEmacs? | 244 | How do I run Gnus on both Emacs and XEmacs? |
| 239 | 245 | ||
| 240 | Answer: | 246 | @subsubheading Answer |
| 241 | 247 | ||
| 242 | You can't use the same copy of Gnus in both as the Lisp | 248 | You can't use the same copy of Gnus in both as the Lisp |
| 243 | files are byte-compiled to a format which is different | 249 | files are byte-compiled to a format which is different |
| 244 | depending on which Emacs did the compilation. Get one copy | 250 | depending on which Emacs did the compilation. Get one copy |
| 245 | of Gnus for Emacs and one for XEmacs. | 251 | of Gnus for Emacs and one for XEmacs. |
| 246 | 252 | ||
| 247 | @ifnottex | 253 | @node FAQ 2 - Startup / Group buffer |
| 248 | @node FAQ 2 - Startup / Group buffer, FAQ 3 - Getting messages, FAQ 1 - Installation, Frequently Asked Questions | ||
| 249 | @end ifnottex | ||
| 250 | @subsection Startup / Group buffer | 254 | @subsection Startup / Group buffer |
| 251 | 255 | ||
| 252 | @menu | 256 | @menu |
| 253 | * [2.1]:: Every time I start Gnus I get a message | 257 | * [2.1]:: Every time I start Gnus I get a message "Gnus auto-save |
| 254 | "Gnus auto-save file exists. Do you want to read it?", | 258 | file exists. Do you want to read it?", what does this mean and |
| 255 | what does this mean and how to prevent it? | 259 | how to prevent it? |
| 256 | * [2.2]:: Gnus doesn't remember which groups I'm subscribed to, what's this? | 260 | * [2.2]:: Gnus doesn't remember which groups I'm subscribed to, |
| 257 | * [2.3]:: How to change the format of the lines in Group buffer? | 261 | what's this? |
| 258 | * [2.4]:: My group buffer becomes a bit crowded, is there a way to sort my | 262 | * [2.3]:: How to change the format of the lines in Group buffer? |
| 259 | groups into categories so I can easier browse through them? | 263 | * [2.4]:: My group buffer becomes a bit crowded, is there a way to |
| 260 | * [2.5]:: How to manually sort the groups in Group buffer? How to sort the | 264 | sort my groups into categories so I can easier browse through |
| 261 | groups in a topic? | 265 | them? |
| 266 | * [2.5]:: How to manually sort the groups in Group buffer? How to | ||
| 267 | sort the groups in a topic? | ||
| 262 | @end menu | 268 | @end menu |
| 263 | 269 | ||
| 264 | @ifnottex | 270 | @node [2.1] |
| 265 | @node [2.1], [2.2], FAQ 2 - Startup / Group buffer, FAQ 2 - Startup / Group buffer | 271 | @subsubheading Question 2.1 |
| 266 | @end ifnottex | ||
| 267 | @subsubheading Question 2.1: | ||
| 268 | 272 | ||
| 269 | Every time I start Gnus I get a message "Gnus auto-save | 273 | Every time I start Gnus I get a message "Gnus auto-save |
| 270 | file exists. Do you want to read it?", what does this mean | 274 | file exists. Do you want to read it?", what does this mean |
| 271 | and how to prevent it? | 275 | and how to prevent it? |
| 272 | |||
| 273 | 276 | ||
| 274 | Answer: | 277 | @subsubheading Answer |
| 275 | 278 | ||
| 276 | This message means that the last time you used Gnus, it | 279 | This message means that the last time you used Gnus, it |
| 277 | wasn't properly exited and therefor couldn't write its | 280 | wasn't properly exited and therefor couldn't write its |
| 278 | informations to disk (e.g. which messages you read), you | 281 | informations to disk (e.g. which messages you read), you |
| 279 | are now asked if you want to restore those informations | 282 | are now asked if you want to restore those informations |
| 280 | from the auto-save file. | 283 | from the auto-save file. |
| 281 | |||
| 282 | 284 | ||
| 283 | To prevent this message make sure you exit Gnus | 285 | To prevent this message make sure you exit Gnus |
| 284 | via @samp{q} in group buffer instead of | 286 | via @samp{q} in group buffer instead of |
| 285 | just killing Emacs. | 287 | just killing Emacs. |
| 286 | |||
| 287 | @ifnottex | ||
| 288 | @node [2.2], [2.3], [2.1], FAQ 2 - Startup / Group buffer | ||
| 289 | @end ifnottex | ||
| 290 | @subsubheading Question: 2.2 | ||
| 291 | 288 | ||
| 292 | Gnus doesn't remember which groups I'm subscribed to, | 289 | @node [2.2] |
| 293 | what's this? | 290 | @subsubheading Question 2.2 |
| 294 | |||
| 295 | 291 | ||
| 296 | Answer: | 292 | Gnus doesn't remember which groups I'm subscribed to, |
| 293 | what's this? | ||
| 297 | 294 | ||
| 298 | You get the message described in the q/a pair above while | 295 | @subsubheading Answer |
| 299 | starting Gnus, right? It's an other symptom for the same | ||
| 300 | problem, so read the answer above. | ||
| 301 | |||
| 302 | @ifnottex | ||
| 303 | @node [2.3], [2.4], [2.2], FAQ 2 - Startup / Group buffer | ||
| 304 | @end ifnottex | ||
| 305 | @subsubheading Question 2.3: | ||
| 306 | 296 | ||
| 307 | How to change the format of the lines in Group buffer? | 297 | You get the message described in the q/a pair above while |
| 308 | 298 | starting Gnus, right? It's an other symptom for the same | |
| 299 | problem, so read the answer above. | ||
| 309 | 300 | ||
| 310 | Answer: | 301 | @node [2.3] |
| 302 | @subsubheading Question 2.3 | ||
| 311 | 303 | ||
| 312 | You've got to tweak the value of the variable | 304 | How to change the format of the lines in Group buffer? |
| 313 | gnus-group-line-format. See the manual node "Group Line | ||
| 314 | Specification" for information on how to do this. An | ||
| 315 | example for this (guess from whose .gnus :-)): | ||
| 316 | |||
| 317 | 305 | ||
| 318 | @example | 306 | @subsubheading Answer |
| 319 | 307 | ||
| 308 | You've got to tweak the value of the variable | ||
| 309 | gnus-group-line-format. See the manual node "Group Line | ||
| 310 | Specification" for information on how to do this. An | ||
| 311 | example for this (guess from whose .gnus :-)): | ||
| 312 | |||
| 313 | @example | ||
| 320 | (setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n") | 314 | (setq gnus-group-line-format "%P%M%S[%5t]%5y : %(%g%)\n") |
| 321 | |||
| 322 | @end example | 315 | @end example |
| 323 | 316 | @noindent | |
| 324 | @ifnottex | ||
| 325 | @node [2.4], [2.5], [2.3], FAQ 2 - Startup / Group buffer | ||
| 326 | @end ifnottex | ||
| 327 | @subsubheading Question 2.4: | ||
| 328 | |||
| 329 | My group buffer becomes a bit crowded, is there a way to | ||
| 330 | sort my groups into categories so I can easier browse | ||
| 331 | through them? | ||
| 332 | |||
| 333 | 317 | ||
| 334 | Answer: | 318 | @node [2.4] |
| 319 | @subsubheading Question 2.4 | ||
| 335 | 320 | ||
| 336 | Gnus offers the topic mode, it allows you to sort your | 321 | My group buffer becomes a bit crowded, is there a way to |
| 337 | groups in, well, topics, e.g. all groups dealing with | 322 | sort my groups into categories so I can easier browse |
| 338 | Linux under the topic linux, all dealing with music under | 323 | through them? |
| 339 | the topic music and all dealing with scottish music under | ||
| 340 | the topic scottish which is a subtopic of music. | ||
| 341 | |||
| 342 | 324 | ||
| 343 | To enter topic mode, just hit t while in Group buffer. Now | 325 | @subsubheading Answer |
| 344 | you can use @samp{T n} to create a topic | ||
| 345 | at point and @samp{T m} to move a group to | ||
| 346 | a specific topic. For more commands see the manual or the | ||
| 347 | menu. You might want to include the %P specifier at the | ||
| 348 | beginning of your gnus-group-line-format variable to have | ||
| 349 | the groups nicely indented. | ||
| 350 | |||
| 351 | @ifnottex | ||
| 352 | @node [2.5], , [2.4], FAQ 2 - Startup / Group buffer | ||
| 353 | @end ifnottex | ||
| 354 | @subsubheading Question 2.5: | ||
| 355 | 326 | ||
| 356 | How to manually sort the groups in Group buffer? How to | 327 | Gnus offers the topic mode, it allows you to sort your |
| 357 | sort the groups in a topic? | 328 | groups in, well, topics, e.g. all groups dealing with |
| 358 | 329 | Linux under the topic linux, all dealing with music under | |
| 330 | the topic music and all dealing with scottish music under | ||
| 331 | the topic scottish which is a subtopic of music. | ||
| 359 | 332 | ||
| 360 | Answer: | 333 | To enter topic mode, just hit t while in Group buffer. Now |
| 334 | you can use @samp{T n} to create a topic | ||
| 335 | at point and @samp{T m} to move a group to | ||
| 336 | a specific topic. For more commands see the manual or the | ||
| 337 | menu. You might want to include the %P specifier at the | ||
| 338 | beginning of your gnus-group-line-format variable to have | ||
| 339 | the groups nicely indented. | ||
| 361 | 340 | ||
| 362 | Move point over the group you want to move and | 341 | @node [2.5] |
| 363 | hit @samp{C-k}, now move point to the | 342 | @subsubheading Question 2.5 |
| 364 | place where you want the group to be and | 343 | |
| 365 | hit @samp{C-y}. | 344 | How to manually sort the groups in Group buffer? How to |
| 366 | 345 | sort the groups in a topic? | |
| 367 | @ifnottex | 346 | |
| 368 | @node FAQ 3 - Getting messages, FAQ 4 - Reading messages, FAQ 2 - Startup / Group buffer, Frequently Asked Questions | 347 | @subsubheading Answer |
| 369 | @end ifnottex | 348 | |
| 370 | @subsection Getting messages | 349 | Move point over the group you want to move and |
| 350 | hit @samp{C-k}, now move point to the | ||
| 351 | place where you want the group to be and | ||
| 352 | hit @samp{C-y}. | ||
| 353 | |||
| 354 | @node FAQ 3 - Getting Messages | ||
| 355 | @subsection Getting Messages | ||
| 371 | 356 | ||
| 372 | @menu | 357 | @menu |
| 373 | * [3.1]:: I just installed Gnus, started it via M-x gnus but it only says | 358 | * [3.1]:: I just installed Gnus, started it via @samp{M-x gnus} |
| 374 | "nntp (news) open error", what to do? | 359 | but it only says "nntp (news) open error", what to do? |
| 375 | * [3.2]:: I'm working under Windows and have no idea what ~/.gnus means. | 360 | * [3.2]:: I'm working under Windows and have no idea what ~/.gnus.el |
| 376 | * [3.3]:: My news server requires authentication, how to store user name | 361 | means. |
| 377 | and password on disk? | 362 | * [3.3]:: My news server requires authentication, how to store user |
| 378 | * [3.4]:: Gnus seems to start up OK, but I can't find out how to | 363 | name and password on disk? |
| 379 | subscribe to a group. | 364 | * [3.4]:: Gnus seems to start up OK, but I can't find out how to |
| 380 | * [3.5]:: Gnus doesn't show all groups / Gnus says I'm not allowed to | 365 | subscribe to a group. |
| 381 | post on this server as well as I am, what's that? | 366 | * [3.5]:: Gnus doesn't show all groups / Gnus says I'm not allowed |
| 382 | * [3.6]:: I want Gnus to fetch news from several servers, is this possible? | 367 | to post on this server as well as I am, what's that? |
| 383 | * [3.7]:: And how about local spool files? | 368 | * [3.6]:: I want Gnus to fetch news from several servers, is this |
| 384 | * [3.8]:: OK, reading news works now, but I want to be able to read my mail | 369 | possible? |
| 385 | with Gnus, too. How to do it? | 370 | * [3.7]:: And how about local spool files? |
| 386 | * [3.9]:: And what about IMAP? | 371 | * [3.8]:: OK, reading news works now, but I want to be able to read |
| 387 | * [3.10]:: At the office we use one of those MS Exchange servers, | 372 | my mail with Gnus, too. How to do it? |
| 388 | can I use Gnus to read my mail from it? | 373 | * [3.9]:: And what about IMAP? |
| 389 | * [3.11]:: Can I tell Gnus not to delete the mails on the server | 374 | * [3.10]:: At the office we use one of those MS Exchange servers, can |
| 390 | it retrieves via POP3? | 375 | I use Gnus to read my mail from it? |
| 376 | * [3.11]:: Can I tell Gnus not to delete the mails on the server it | ||
| 377 | retrieves via POP3? | ||
| 391 | @end menu | 378 | @end menu |
| 392 | 379 | ||
| 393 | @ifnottex | 380 | @node [3.1] |
| 394 | @node [3.1], [3.2], FAQ 3 - Getting messages, FAQ 3 - Getting messages | 381 | @subsubheading Question 3.1 |
| 395 | @end ifnottex | ||
| 396 | @subsubheading Question 3.1: | ||
| 397 | 382 | ||
| 398 | I just installed Gnus, started it via | 383 | I just installed Gnus, started it via |
| 399 | @samp{M-x gnus} | 384 | @samp{M-x gnus} |
| 400 | but it only says "nntp (news) open error", what to do? | 385 | but it only says "nntp (news) open error", what to do? |
| 401 | |||
| 402 | 386 | ||
| 403 | Answer: | 387 | @subsubheading Answer |
| 404 | 388 | ||
| 405 | You've got to tell Gnus where to fetch the news from. Read | 389 | You've got to tell Gnus where to fetch the news from. Read |
| 406 | the documentation for information on how to do this. As a | 390 | the documentation for information on how to do this. As a |
| 407 | first start, put those lines in ~/.gnus: | 391 | first start, put those lines in ~/.gnus.el: |
| 408 | |||
| 409 | 392 | ||
| 410 | @example | 393 | @example |
| 411 | (setq gnus-select-method '(nntp "news.yourprovider.net")) | 394 | (setq gnus-select-method '(nntp "news.yourprovider.net")) |
| 412 | (setq user-mail-address "you@@yourprovider.net") | 395 | (setq user-mail-address "you@@yourprovider.net") |
| 413 | (setq user-full-name "Your Name") | 396 | (setq user-full-name "Your Name") |
| 414 | @end example | 397 | @end example |
| 415 | 398 | @noindent | |
| 416 | @ifnottex | ||
| 417 | @node [3.2], [3.3], [3.1], FAQ 3 - Getting messages | ||
| 418 | @end ifnottex | ||
| 419 | @subsubheading Question 3.2: | ||
| 420 | |||
| 421 | I'm working under Windows and have no idea what ~/.gnus means. | ||
| 422 | |||
| 423 | 399 | ||
| 424 | Answer: | 400 | @node [3.2] |
| 425 | 401 | @subsubheading Question 3.2 | |
| 426 | The ~/ means the home directory where Gnus and Emacs look for the | 402 | |
| 427 | configuration files. However, you don't really need to know what this | 403 | I'm working under Windows and have no idea what ~/.gnus.el means. |
| 428 | means, it suffices that Emacs knows what it means :-) You can type | 404 | |
| 429 | @samp{C-x C-f ~/.gnus RET } (yes, with the forward slash, even on | 405 | @subsubheading Answer |
| 430 | Windows), and Emacs will open the right file for you. (It will most | 406 | |
| 431 | likely be new, and thus empty.) However, I'd discourage you from | 407 | The ~/ means the home directory where Gnus and Emacs look |
| 432 | doing so, since the directory Emacs chooses will most certainly not be | 408 | for the configuration files. However, you don't really |
| 433 | what you want, so let's do it the correct way. The first thing you've | 409 | need to know what this means, it suffices that Emacs knows |
| 434 | got to do is to create a suitable directory (no blanks in directory | 410 | what it means :-) You can type |
| 435 | name please) e.g. @file{c:\myhome}. Then you must set the environment | 411 | @samp{C-x C-f ~/.gnus.el RET } |
| 436 | variable HOME to this directory. To do this under Win9x or Me include | 412 | (yes, with the forward slash, even on Windows), and |
| 437 | the line | 413 | Emacs will open the right file for you. (It will most |
| 438 | 414 | likely be new, and thus empty.) | |
| 415 | However, I'd discourage you from doing so, since the | ||
| 416 | directory Emacs chooses will most certainly not be what | ||
| 417 | you want, so let's do it the correct way. | ||
| 418 | The first thing you've got to do is to | ||
| 419 | create a suitable directory (no blanks in directory name | ||
| 420 | please) e.g. c:\myhome. Then you must set the environment | ||
| 421 | variable HOME to this directory. To do this under Win9x | ||
| 422 | or Me include the line | ||
| 439 | 423 | ||
| 440 | @example | 424 | @example |
| 441 | |||
| 442 | SET HOME=C:\myhome | 425 | SET HOME=C:\myhome |
| 443 | |||
| 444 | @end example | 426 | @end example |
| 445 | |||
| 446 | @noindent | 427 | @noindent |
| 447 | in your autoexec.bat and reboot. Under NT, 2000 and XP, | ||
| 448 | hit Winkey+Pause/Break to enter system options (if it | ||
| 449 | doesn't work, go to Control Panel -> System). There you'll | ||
| 450 | find the possibility to set environment variables, create | ||
| 451 | a new one with name HOME and value @file{c:\myhome}, a reboot is | ||
| 452 | not necessary. | ||
| 453 | |||
| 454 | 428 | ||
| 455 | Now to create ~/.gnus, say | 429 | in your autoexec.bat and reboot. Under NT, 2000 and XP, |
| 456 | @samp{C-x C-f ~/.gnus RET C-x C-s}. | 430 | hit Winkey+Pause/Break to enter system options (if it |
| 457 | in Emacs. | 431 | doesn't work, go to Control Panel -> System). There you'll |
| 458 | 432 | find the possibility to set environment variables, create | |
| 459 | @ifnottex | 433 | a new one with name HOME and value C:\myhome, a reboot is |
| 460 | @node [3.3], [3.4], [3.2], FAQ 3 - Getting messages | 434 | not necessary. |
| 461 | @end ifnottex | ||
| 462 | @subsubheading Question 3.3: | ||
| 463 | 435 | ||
| 464 | My news server requires authentication, how to store | 436 | Now to create ~/.gnus.el, say |
| 465 | user name and password on disk? | 437 | @samp{C-x C-f ~/.gnus.el RET C-x C-s}. |
| 466 | 438 | in Emacs. | |
| 467 | 439 | ||
| 468 | Answer: | 440 | @node [3.3] |
| 441 | @subsubheading Question 3.3 | ||
| 469 | 442 | ||
| 470 | Create a file ~/.authinfo which includes for each server a line like this | 443 | My news server requires authentication, how to store |
| 471 | 444 | user name and password on disk? | |
| 445 | |||
| 446 | @subsubheading Answer | ||
| 447 | |||
| 448 | Create a file ~/.authinfo which includes for each server a line like this | ||
| 472 | 449 | ||
| 473 | @example | 450 | @example |
| 474 | machine news.yourprovider.net login YourUserName password YourPassword | 451 | machine news.yourprovider.net login YourUserName password YourPassword |
| 475 | @end example | 452 | @end example |
| 476 | |||
| 477 | @noindent | 453 | @noindent |
| 478 | . | 454 | . |
| 479 | Make sure that the file isn't readable to others if you | 455 | Make sure that the file isn't readable to others if you |
| 480 | work on a OS which is capable of doing so. (Under Unix | 456 | work on a OS which is capable of doing so. (Under Unix |
| 481 | say | 457 | say |
| 482 | |||
| 483 | @example | 458 | @example |
| 484 | chmod 600 ~/.authinfo | 459 | chmod 600 ~/.authinfo |
| 485 | @end example | 460 | @end example |
| 486 | |||
| 487 | @noindent | 461 | @noindent |
| 488 | in a shell.) | ||
| 489 | |||
| 490 | @ifnottex | ||
| 491 | @node [3.4], [3.5], [3.3], FAQ 3 - Getting messages | ||
| 492 | @end ifnottex | ||
| 493 | @subsubheading Question 3.4: | ||
| 494 | 462 | ||
| 495 | Gnus seems to start up OK, but I can't find out how to | 463 | in a shell.) |
| 496 | subscribe to a group. | ||
| 497 | |||
| 498 | 464 | ||
| 499 | Answer: | 465 | @node [3.4] |
| 466 | @subsubheading Question 3.4 | ||
| 500 | 467 | ||
| 501 | If you know the name of the group say @samp{U | 468 | Gnus seems to start up OK, but I can't find out how to |
| 502 | name.of.group RET} in group buffer (use the | 469 | subscribe to a group. |
| 503 | tab-completion Luke). Otherwise hit ^ in group buffer, | ||
| 504 | this brings you to the server buffer. Now place point (the | ||
| 505 | cursor) over the server which carries the group you want, | ||
| 506 | hit @samp{RET}, move point to the group | ||
| 507 | you want to subscribe to and say @samp{u} | ||
| 508 | to subscribe to it. | ||
| 509 | |||
| 510 | @ifnottex | ||
| 511 | @node [3.5], [3.6], [3.4], FAQ 3 - Getting messages | ||
| 512 | @end ifnottex | ||
| 513 | @subsubheading Question 3.5: | ||
| 514 | 470 | ||
| 515 | Gnus doesn't show all groups / Gnus says I'm not allowed to | 471 | @subsubheading Answer |
| 516 | post on this server as well as I am, what's that? | ||
| 517 | |||
| 518 | 472 | ||
| 519 | Answer: | 473 | If you know the name of the group say @samp{U |
| 474 | name.of.group RET} in group buffer (use the | ||
| 475 | tab-completion Luke). Otherwise hit ^ in group buffer, | ||
| 476 | this brings you to the server buffer. Now place point (the | ||
| 477 | cursor) over the server which carries the group you want, | ||
| 478 | hit @samp{RET}, move point to the group | ||
| 479 | you want to subscribe to and say @samp{u} | ||
| 480 | to subscribe to it. | ||
| 520 | 481 | ||
| 521 | Some providers allow restricted anonymous access and full | 482 | @node [3.5] |
| 522 | access only after authorization. To make Gnus send authinfo | 483 | @subsubheading Question 3.5 |
| 523 | to those servers append | 484 | |
| 524 | 485 | Gnus doesn't show all groups / Gnus says I'm not allowed to | |
| 486 | post on this server as well as I am, what's that? | ||
| 487 | |||
| 488 | @subsubheading Answer | ||
| 489 | |||
| 490 | Some providers allow restricted anonymous access and full | ||
| 491 | access only after authorization. To make Gnus send authinfo | ||
| 492 | to those servers append | ||
| 525 | 493 | ||
| 526 | @example | 494 | @example |
| 527 | force yes | 495 | force yes |
| 528 | @end example | 496 | @end example |
| 529 | |||
| 530 | |||
| 531 | @noindent | 497 | @noindent |
| 532 | to the line for those servers in ~/.authinfo. | ||
| 533 | 498 | ||
| 534 | @ifnottex | 499 | to the line for those servers in ~/.authinfo. |
| 535 | @node [3.6], [3.7], [3.5], FAQ 3 - Getting messages | ||
| 536 | @end ifnottex | ||
| 537 | @subsubheading Question 3.6: | ||
| 538 | 500 | ||
| 539 | I want Gnus to fetch news from several servers, is this possible? | 501 | @node [3.6] |
| 540 | 502 | @subsubheading Question 3.6 | |
| 541 | 503 | ||
| 542 | Answer: | 504 | I want Gnus to fetch news from several servers, is this possible? |
| 543 | 505 | ||
| 544 | Of course. You can specify more sources for articles in the | 506 | @subsubheading Answer |
| 545 | variable gnus-secondary-select-methods. Add something like | 507 | |
| 546 | this in ~/.gnus: | 508 | Of course. You can specify more sources for articles in the |
| 547 | 509 | variable gnus-secondary-select-methods. Add something like | |
| 510 | this in ~/.gnus.el: | ||
| 548 | 511 | ||
| 549 | @example | 512 | @example |
| 550 | (add-to-list 'gnus-secondary-select-methods | 513 | (add-to-list 'gnus-secondary-select-methods |
| 551 | '(nntp "news.yourSecondProvider.net")) | 514 | '(nntp "news.yourSecondProvider.net")) |
| 552 | (add-to-list 'gnus-secondary-select-methods | 515 | (add-to-list 'gnus-secondary-select-methods |
| 553 | '(nntp "news.yourThirdProvider.net")) | 516 | '(nntp "news.yourThirdProvider.net")) |
| 554 | @end example | 517 | @end example |
| 555 | 518 | @noindent | |
| 556 | @ifnottex | ||
| 557 | @node [3.7], [3.8], [3.6], FAQ 3 - Getting messages | ||
| 558 | @end ifnottex | ||
| 559 | @subsubheading Question 3.7: | ||
| 560 | 519 | ||
| 561 | And how about local spool files? | 520 | @node [3.7] |
| 562 | 521 | @subsubheading Question 3.7 | |
| 563 | 522 | ||
| 564 | Answer: | 523 | And how about local spool files? |
| 565 | 524 | ||
| 566 | No problem, this is just one more select method called | 525 | @subsubheading Answer |
| 567 | nnspool, so you want this: | 526 | |
| 568 | 527 | No problem, this is just one more select method called | |
| 528 | nnspool, so you want this: | ||
| 569 | 529 | ||
| 570 | @example | 530 | @example |
| 571 | (add-to-list 'gnus-secondary-select-methods '(nnspool "")) | 531 | (add-to-list 'gnus-secondary-select-methods '(nnspool "")) |
| 572 | @end example | 532 | @end example |
| 573 | |||
| 574 | @noindent | 533 | @noindent |
| 575 | Or this if you don't want an NNTP Server as primary news source: | 534 | |
| 576 | 535 | Or this if you don't want an NNTP Server as primary news source: | |
| 577 | 536 | ||
| 578 | @example | 537 | @example |
| 579 | (setq gnus-select-method '(nnspool "")) | 538 | (setq gnus-select-method '(nnspool "")) |
| 580 | @end example | 539 | @end example |
| 581 | |||
| 582 | @noindent | 540 | @noindent |
| 583 | Gnus will look for the spool file in /usr/spool/news, if you | 541 | |
| 584 | want something different, change the line above to something like this: | 542 | Gnus will look for the spool file in /usr/spool/news, if you |
| 585 | 543 | want something different, change the line above to something like this: | |
| 586 | 544 | ||
| 587 | @example | 545 | @example |
| 588 | (add-to-list 'gnus-secondary-select-methods | 546 | (add-to-list 'gnus-secondary-select-methods |
| 589 | '(nnspool "" (nnspool-directory "/usr/local/myspoolddir"))) | 547 | '(nnspool "" |
| 548 | (nnspool-directory "/usr/local/myspoolddir"))) | ||
| 590 | @end example | 549 | @end example |
| 591 | |||
| 592 | @noindent | 550 | @noindent |
| 593 | This sets the spool directory for this server only. | ||
| 594 | You might have to specify more stuff like the program used | ||
| 595 | to post articles, see the Gnus manual on how to do this. | ||
| 596 | |||
| 597 | @ifnottex | ||
| 598 | @node [3.8], [3.9], [3.7], FAQ 3 - Getting messages | ||
| 599 | @end ifnottex | ||
| 600 | @subsubheading Question 3.8: | ||
| 601 | 551 | ||
| 602 | OK, reading news works now, but I want to be able to read my mail | 552 | This sets the spool directory for this server only. |
| 603 | with Gnus, too. How to do it? | 553 | You might have to specify more stuff like the program used |
| 604 | 554 | to post articles, see the Gnus manual on how to do this. | |
| 605 | 555 | ||
| 606 | Answer: | 556 | @node [3.8] |
| 607 | 557 | @subsubheading Question 3.8 | |
| 608 | That's a bit harder since there are many possible sources | 558 | |
| 609 | for mail, many possible ways for storing mail and many | 559 | OK, reading news works now, but I want to be able to read my mail |
| 610 | different ways for sending mail. The most common cases are | 560 | with Gnus, too. How to do it? |
| 611 | these: 1: You want to read your mail from a pop3 server and | 561 | |
| 612 | send them directly to a SMTP Server 2: Some program like | 562 | @subsubheading Answer |
| 613 | fetchmail retrieves your mail and stores it on disk from | 563 | |
| 614 | where Gnus shall read it. Outgoing mail is sent by | 564 | That's a bit harder since there are many possible sources |
| 615 | Sendmail, Postfix or some other MTA. Sometimes, you even | 565 | for mail, many possible ways for storing mail and many |
| 616 | need a combination of the above cases. | 566 | different ways for sending mail. The most common cases are |
| 617 | 567 | these: 1: You want to read your mail from a pop3 server and | |
| 618 | 568 | send them directly to a SMTP Server 2: Some program like | |
| 619 | However, the first thing to do is to tell Gnus in which way | 569 | fetchmail retrieves your mail and stores it on disk from |
| 620 | it should store the mail, in Gnus terminology which back end | 570 | where Gnus shall read it. Outgoing mail is sent by |
| 621 | to use. Gnus supports many different back ends, the most | 571 | Sendmail, Postfix or some other MTA. Sometimes, you even |
| 622 | commonly used one is nnml. It stores every mail in one file | 572 | need a combination of the above cases. |
| 623 | and is therefor quite fast. However you might prefer a one | 573 | |
| 624 | file per group approach if your file system has problems with | 574 | However, the first thing to do is to tell Gnus in which way |
| 625 | many small files, the nnfolder back end is then probably the | 575 | it should store the mail, in Gnus terminology which back end |
| 626 | choice for you. To use nnml add the following to ~/.gnus: | 576 | to use. Gnus supports many different back ends, the most |
| 627 | 577 | commonly used one is nnml. It stores every mail in one file | |
| 578 | and is therefor quite fast. However you might prefer a one | ||
| 579 | file per group approach if your file system has problems with | ||
| 580 | many small files, the nnfolder back end is then probably the | ||
| 581 | choice for you. To use nnml add the following to ~/.gnus.el: | ||
| 628 | 582 | ||
| 629 | @example | 583 | @example |
| 630 | (add-to-list 'gnus-secondary-select-methods '(nnml "")) | 584 | (add-to-list 'gnus-secondary-select-methods '(nnml "")) |
| 631 | @end example | 585 | @end example |
| 632 | |||
| 633 | @noindent | 586 | @noindent |
| 634 | As you might have guessed, if you want nnfolder, it's | 587 | |
| 635 | 588 | As you might have guessed, if you want nnfolder, it's | |
| 636 | 589 | ||
| 637 | @example | 590 | @example |
| 638 | (add-to-list 'gnus-secondary-select-methods '(nnfolder "")) | 591 | (add-to-list 'gnus-secondary-select-methods '(nnfolder "")) |
| 639 | @end example | 592 | @end example |
| 640 | 593 | @noindent | |
| 641 | 594 | ||
| 642 | Now we need to tell Gnus, where to get it's mail from. If | 595 | Now we need to tell Gnus, where to get it's mail from. If |
| 643 | it's a POP3 server, then you need something like this: | 596 | it's a POP3 server, then you need something like this: |
| 644 | |||
| 645 | 597 | ||
| 646 | @example | 598 | @example |
| 647 | (eval-after-load "mail-source" | 599 | (eval-after-load "mail-source" |
| @@ -649,75 +601,68 @@ Answer: | |||
| 649 | :user "yourUserName" | 601 | :user "yourUserName" |
| 650 | :password "yourPassword"))) | 602 | :password "yourPassword"))) |
| 651 | @end example | 603 | @end example |
| 652 | |||
| 653 | @noindent | 604 | @noindent |
| 654 | Make sure ~/.gnus isn't readable to others if you store | 605 | |
| 655 | your password there. If you want to read your mail from a | 606 | Make sure ~/.gnus.el isn't readable to others if you store |
| 656 | traditional spool file on your local machine, it's | 607 | your password there. If you want to read your mail from a |
| 657 | 608 | traditional spool file on your local machine, it's | |
| 658 | 609 | ||
| 659 | @example | 610 | @example |
| 660 | (eval-after-load "mail-source" | 611 | (eval-after-load "mail-source" |
| 661 | '(add-to-list 'mail-sources '(file :path "/path/to/spool/file"))) | 612 | '(add-to-list 'mail-sources '(file :path "/path/to/spool/file")) |
| 662 | @end example | 613 | @end example |
| 663 | |||
| 664 | @noindent | 614 | @noindent |
| 665 | If it's a Maildir, with one file per message as used by | 615 | |
| 666 | postfix, Qmail and (optionally) fetchmail it's | 616 | If it's a Maildir, with one file per message as used by |
| 667 | 617 | postfix, Qmail and (optionally) fetchmail it's | |
| 668 | 618 | ||
| 669 | @example | 619 | @example |
| 670 | (eval-after-load "mail-source" | 620 | (eval-after-load "mail-source" |
| 671 | '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/" | 621 | '(add-to-list 'mail-sources '(maildir :path "/path/to/Maildir/" |
| 672 | :subdirs ("cur" "new"))) | 622 | :subdirs ("cur" "new"))) |
| 673 | @end example | 623 | @end example |
| 674 | |||
| 675 | @noindent | 624 | @noindent |
| 676 | And finally if you want to read your mail from several files | 625 | |
| 677 | in one directory, for example because procmail already split your | 626 | And finally if you want to read your mail from several files |
| 678 | mail, it's | 627 | in one directory, for example because procmail already split your |
| 679 | 628 | mail, it's | |
| 680 | 629 | ||
| 681 | @example | 630 | @example |
| 682 | (eval-after-load "mail-source" | 631 | (eval-after-load "mail-source" |
| 683 | '(add-to-list 'mail-sources '(directory :path "/path/to/procmail-dir/" | 632 | '(add-to-list 'mail-sources |
| 684 | :suffix ".prcml")) | 633 | '(directory :path "/path/to/procmail-dir/" |
| 634 | :suffix ".prcml"))) | ||
| 685 | @end example | 635 | @end example |
| 686 | |||
| 687 | @noindent | 636 | @noindent |
| 688 | Where :suffix ".prcml" tells Gnus only to use files with the | ||
| 689 | suffix .prcml. | ||
| 690 | |||
| 691 | 637 | ||
| 692 | OK, now you only need to tell Gnus how to send mail. If you | 638 | Where :suffix ".prcml" tells Gnus only to use files with the |
| 693 | want to send mail via sendmail (or whichever MTA is playing | 639 | suffix .prcml. |
| 694 | the role of sendmail on your system), you don't need to do | 640 | |
| 695 | anything. However, if you want to send your mail to an | 641 | OK, now you only need to tell Gnus how to send mail. If you |
| 696 | SMTP Server you need the following in your ~/.gnus | 642 | want to send mail via sendmail (or whichever MTA is playing |
| 697 | 643 | the role of sendmail on your system), you don't need to do | |
| 644 | anything. However, if you want to send your mail to an | ||
| 645 | SMTP Server you need the following in your ~/.gnus.el | ||
| 698 | 646 | ||
| 699 | @example | 647 | @example |
| 700 | (setq send-mail-function 'smtpmail-send-it) | 648 | (setq send-mail-function 'smtpmail-send-it) |
| 701 | (setq message-send-mail-function 'smtpmail-send-it) | 649 | (setq message-send-mail-function 'smtpmail-send-it) |
| 702 | (setq smtpmail-default-smtp-server "smtp.yourProvider.net") | 650 | (setq smtpmail-default-smtp-server "smtp.yourProvider.net") |
| 703 | @end example | 651 | @end example |
| 704 | 652 | @noindent | |
| 705 | @ifnottex | ||
| 706 | @node [3.9], [3.10], [3.8], FAQ 3 - Getting messages | ||
| 707 | @end ifnottex | ||
| 708 | @subsubheading Question 3.9: | ||
| 709 | 653 | ||
| 710 | And what about IMAP? | 654 | @node [3.9] |
| 711 | 655 | @subsubheading Question 3.9 | |
| 712 | 656 | ||
| 713 | Answer: | 657 | And what about IMAP? |
| 714 | 658 | ||
| 715 | There are two ways of using IMAP with Gnus. The first one is | 659 | @subsubheading Answer |
| 716 | to use IMAP like POP3, that means Gnus fetches the mail from | 660 | |
| 717 | the IMAP server and stores it on disk. If you want to do | 661 | There are two ways of using IMAP with Gnus. The first one is |
| 718 | this (you don't really want to do this) add the following to | 662 | to use IMAP like POP3, that means Gnus fetches the mail from |
| 719 | ~/.gnus | 663 | the IMAP server and stores it on disk. If you want to do |
| 720 | 664 | this (you don't really want to do this) add the following to | |
| 665 | ~/.gnus.el | ||
| 721 | 666 | ||
| 722 | @example | 667 | @example |
| 723 | (add-to-list 'mail-sources '(imap :server "mail.mycorp.com" | 668 | (add-to-list 'mail-sources '(imap :server "mail.mycorp.com" |
| @@ -728,249 +673,215 @@ Answer: | |||
| 728 | :mailbox "INBOX" | 673 | :mailbox "INBOX" |
| 729 | :fetchflag "\\Seen")) | 674 | :fetchflag "\\Seen")) |
| 730 | @end example | 675 | @end example |
| 731 | |||
| 732 | @noindent | 676 | @noindent |
| 733 | You might have to tweak the values for stream and/or | ||
| 734 | authentification, see the Gnus manual node "Mail Source | ||
| 735 | Specifiers" for possible values. | ||
| 736 | |||
| 737 | 677 | ||
| 738 | If you want to use IMAP the way it's intended, you've got to | 678 | You might have to tweak the values for stream and/or |
| 739 | follow a different approach. You've got to add the nnimap | 679 | authentification, see the Gnus manual node "Mail Source |
| 740 | back end to your select method and give the information | 680 | Specifiers" for possible values. |
| 741 | about the server there. | 681 | |
| 742 | 682 | If you want to use IMAP the way it's intended, you've got to | |
| 683 | follow a different approach. You've got to add the nnimap | ||
| 684 | back end to your select method and give the information | ||
| 685 | about the server there. | ||
| 743 | 686 | ||
| 744 | @example | 687 | @example |
| 745 | (add-to-list | 688 | (add-to-list 'gnus-secondary-select-methods |
| 746 | 'gnus-secondary-select-methods | 689 | '(nnimap "Give the baby a name" |
| 747 | '(nnimap "Give the baby a name" | 690 | (nnimap-address "imap.yourProvider.net") |
| 748 | (nnimap-address "imap.yourProvider.net") | 691 | (nnimap-port 143) |
| 749 | (nnimap-port 143) | 692 | (nnimap-list-pattern "archive.*"))) |
| 750 | (nnimap-list-pattern "archive.*"))) | ||
| 751 | @end example | 693 | @end example |
| 752 | |||
| 753 | @noindent | 694 | @noindent |
| 754 | Again, you might have to specify how to authenticate to the | ||
| 755 | server if Gnus can't guess the correct way, see the Manual | ||
| 756 | Node "IMAP" for detailed information. | ||
| 757 | |||
| 758 | @ifnottex | ||
| 759 | @node [3.10], [3.11], [3.9], FAQ 3 - Getting messages | ||
| 760 | @end ifnottex | ||
| 761 | @subsubheading Question 3.10: | ||
| 762 | |||
| 763 | At the office we use one of those MS Exchange servers, can I use | ||
| 764 | Gnus to read my mail from it? | ||
| 765 | |||
| 766 | |||
| 767 | Answer: | ||
| 768 | 695 | ||
| 769 | Offer your administrator a pair of new running shoes for | 696 | Again, you might have to specify how to authenticate to the |
| 770 | activating IMAP on the server and follow the instructions | 697 | server if Gnus can't guess the correct way, see the Manual |
| 771 | above. | 698 | Node "IMAP" for detailed information. |
| 772 | 699 | ||
| 773 | @ifnottex | 700 | @node [3.10] |
| 774 | @node [3.11], , [3.10], FAQ 3 - Getting messages | 701 | @subsubheading Question 3.10 |
| 775 | @end ifnottex | 702 | |
| 776 | @subsubheading Question 3.11: | 703 | At the office we use one of those MS Exchange servers, can I use |
| 777 | 704 | Gnus to read my mail from it? | |
| 778 | Can I tell Gnus not to delete the mails on the server it | 705 | |
| 779 | retrieves via POP3? | 706 | @subsubheading Answer |
| 780 | 707 | ||
| 781 | 708 | Offer your administrator a pair of new running shoes for | |
| 782 | Answer: | 709 | activating IMAP on the server and follow the instructions |
| 783 | 710 | above. | |
| 784 | First of all, that's not the way POP3 is intended to work, | 711 | |
| 785 | if you have the possibility, you should use the IMAP | 712 | @node [3.11] |
| 786 | Protocol if you want your messages to stay on the | 713 | @subsubheading Question 3.11 |
| 787 | server. Nevertheless there might be situations where you | 714 | |
| 788 | need the feature, but sadly Gnus itself has no predefined | 715 | Can I tell Gnus not to delete the mails on the server it |
| 789 | functionality to do so. | 716 | retrieves via POP3? |
| 790 | 717 | ||
| 791 | 718 | @subsubheading Answer | |
| 792 | However this is Gnus county so there are possibilities to | 719 | |
| 793 | achieve what you want. The easiest way is to get an external | 720 | First of all, that's not the way POP3 is intended to work, |
| 794 | program which retrieves copies of the mail and stores them | 721 | if you have the possibility, you should use the IMAP |
| 795 | on disk, so Gnus can read it from there. On Unix systems you | 722 | Protocol if you want your messages to stay on the |
| 796 | could use e.g. fetchmail for this, on MS Windows you can use | 723 | server. Nevertheless there might be situations where you |
| 797 | Hamster, an excellent local news and mail server. | 724 | need the feature, but sadly Gnus itself has no predefined |
| 798 | 725 | functionality to do so. | |
| 799 | 726 | ||
| 800 | The other solution would be, to replace the method Gnus | 727 | However this is Gnus county so there are possibilities to |
| 801 | uses to get mail from POP3 servers by one which is capable | 728 | achieve what you want. The easiest way is to get an external |
| 802 | of leaving the mail on the server. If you use XEmacs, get | 729 | program which retrieves copies of the mail and stores them |
| 803 | the package mail-lib, it includes an enhanced pop3.el, | 730 | on disk, so Gnus can read it from there. On Unix systems you |
| 804 | look in the file, there's documentation on how to tell | 731 | could use e.g. fetchmail for this, on MS Windows you can use |
| 805 | Gnus to use it and not to delete the retrieved mail. For | 732 | Hamster, an excellent local news and mail server. |
| 806 | GNU Emacs look for the file epop3.el which can do the same | 733 | |
| 807 | (If you know the home of this file, please send me an | 734 | The other solution would be, to replace the method Gnus |
| 808 | e-mail). You can also tell Gnus to use an external program | 735 | uses to get mail from POP3 servers by one which is capable |
| 809 | (e.g. fetchmail) to fetch your mail, see the info node | 736 | of leaving the mail on the server. If you use XEmacs, get |
| 810 | "Mail Source Specifiers" in the Gnus manual on how to do | 737 | the package mail-lib, it includes an enhanced pop3.el, |
| 811 | it. | 738 | look in the file, there's documentation on how to tell |
| 812 | 739 | Gnus to use it and not to delete the retrieved mail. For | |
| 813 | 740 | GNU Emacs look for the file epop3.el which can do the same | |
| 814 | @ifnottex | 741 | (If you know the home of this file, please send me an |
| 815 | @node FAQ 4 - Reading messages, FAQ 5 - Composing messages, FAQ 3 - Getting messages, Frequently Asked Questions | 742 | e-mail). You can also tell Gnus to use an external program |
| 816 | @end ifnottex | 743 | (e.g. fetchmail) to fetch your mail, see the info node |
| 744 | "Mail Source Specifiers" in the Gnus manual on how to do | ||
| 745 | it. | ||
| 746 | |||
| 747 | @node FAQ 4 - Reading messages | ||
| 817 | @subsection Reading messages | 748 | @subsection Reading messages |
| 818 | 749 | ||
| 819 | @menu | 750 | @menu |
| 820 | * [4.1]:: When I enter a group, all read messages are gone. | 751 | * [4.1]:: When I enter a group, all read messages are gone. How to |
| 821 | How to view them again? | 752 | view them again? |
| 822 | * [4.2]:: How to tell Gnus to show an important message every time | 753 | * [4.2]:: How to tell Gnus to show an important message every time I |
| 823 | I enter a group, even when it's read? | 754 | enter a group, even when it's read? |
| 824 | * [4.3]:: How to view the headers of a message? | 755 | * [4.3]:: How to view the headers of a message? |
| 825 | * [4.4]:: How to view the raw unformatted message? | 756 | * [4.4]:: How to view the raw unformatted message? |
| 826 | * [4.5]:: How can I change the headers Gnus displays by default at the | 757 | * [4.5]:: How can I change the headers Gnus displays by default at |
| 827 | top of the article buffer? | 758 | the top of the article buffer? |
| 828 | * [4.6]:: I'd like Gnus NOT to render HTML-mails but show me the | 759 | * [4.6]:: I'd like Gnus NOT to render HTML-mails but show me the |
| 829 | text part if it's available. How to do it? | 760 | text part if it's available. How to do it? |
| 830 | * [4.7]:: Can I use some other browser than w3 to render my HTML-mails? | 761 | * [4.7]:: Can I use some other browser than w3 to render my |
| 831 | * [4.8]:: Is there anything I can do to make poorly formatted mails | 762 | HTML-mails? |
| 832 | more readable? | 763 | * [4.8]:: Is there anything I can do to make poorly formatted mails |
| 833 | * [4.9]:: Is there a way to automatically ignore posts by specific authors | 764 | more readable? |
| 834 | or with specific words in the subject? And can I highlight more | 765 | * [4.9]:: Is there a way to automatically ignore posts by specific |
| 835 | interesting ones in some way? | 766 | authors or with specific words in the subject? And can I highlight |
| 836 | * [4.10]:: How can I disable threading in some (e.g. mail-) groups, or set | 767 | more interesting ones in some way? |
| 837 | other variables specific for some groups? | 768 | * [4.10]:: How can I disable threading in some (e.g. mail-) groups, |
| 838 | * [4.11]:: Can I highlight messages written by me and follow-ups to those? | 769 | or set other variables specific for some groups? |
| 839 | * [4.12]:: The number of total messages in a group which Gnus displays in | 770 | * [4.11]:: Can I highlight messages written by me and follow-ups to |
| 840 | group buffer is by far to high, especially in mail groups. | 771 | those? |
| 841 | Is this a bug? | 772 | * [4.12]:: The number of total messages in a group which Gnus |
| 842 | * [4.13]:: I don't like the layout of summary and article buffer, | 773 | displays in group buffer is by far to high, especially in mail |
| 843 | how to change it? Perhaps even a three pane display? | 774 | groups. Is this a bug? |
| 844 | * [4.14]:: I don't like the way the Summary buffer looks, how to tweak it? | 775 | * [4.13]:: I don't like the layout of summary and article buffer, how |
| 845 | * [4.15]:: How to split incoming mails in several groups? | 776 | to change it? Perhaps even a three pane display? |
| 777 | * [4.14]:: I don't like the way the Summary buffer looks, how to | ||
| 778 | tweak it? | ||
| 779 | * [4.15]:: How to split incoming mails in several groups? | ||
| 846 | @end menu | 780 | @end menu |
| 847 | 781 | ||
| 848 | @ifnottex | 782 | @node [4.1] |
| 849 | @node [4.1], [4.2], FAQ 4 - Reading messages, FAQ 4 - Reading messages | 783 | @subsubheading Question 4.1 |
| 850 | @end ifnottex | ||
| 851 | @subsubheading Question 4.1: | ||
| 852 | 784 | ||
| 853 | When I enter a group, all read messages are gone. How to view them again? | 785 | When I enter a group, all read messages are gone. How to view them again? |
| 854 | |||
| 855 | 786 | ||
| 856 | Answer: | 787 | @subsubheading Answer |
| 857 | 788 | ||
| 858 | If you enter the group by saying | 789 | If you enter the group by saying |
| 859 | @samp{RET} | 790 | @samp{RET} |
| 860 | in group buffer with point over the group, only unread and ticked messages are loaded. Say | 791 | in group buffer with point over the group, only unread and ticked messages are loaded. Say |
| 861 | @samp{C-u RET} | 792 | @samp{C-u RET} |
| 862 | instead to load all available messages. If you want only the e.g. 300 newest say | 793 | instead to load all available messages. If you want only the e.g. 300 newest say |
| 863 | @samp{C-u 300 RET} | 794 | @samp{C-u 300 RET} |
| 864 | |||
| 865 | 795 | ||
| 866 | Loading only unread messages can be annoying if you have threaded view enabled, say | 796 | Loading only unread messages can be annoying if you have threaded view enabled, say |
| 867 | |||
| 868 | 797 | ||
| 869 | @example | 798 | @example |
| 870 | (setq gnus-fetch-old-headers 'some) | 799 | (setq gnus-fetch-old-headers 'some) |
| 871 | @end example | 800 | @end example |
| 872 | |||
| 873 | |||
| 874 | @noindent | 801 | @noindent |
| 875 | in ~/.gnus to load enough old articles to prevent teared threads, replace 'some with t to load | ||
| 876 | all articles (Warning: Both settings enlarge the amount of data which is | ||
| 877 | fetched when you enter a group and slow down the process of entering a group). | ||
| 878 | 802 | ||
| 803 | in ~/.gnus.el to load enough old articles to prevent teared threads, replace 'some with t to load | ||
| 804 | all articles (Warning: Both settings enlarge the amount of data which is | ||
| 805 | fetched when you enter a group and slow down the process of entering a group). | ||
| 879 | 806 | ||
| 880 | If you already use Gnus 5.10, you can say | 807 | If you already use Gnus 5.10, you can say |
| 881 | @samp{/o N} | 808 | @samp{/o N} |
| 882 | In summary buffer to load the last N messages, this feature is not available in 5.8.8 | 809 | In summary buffer to load the last N messages, this feature is not available in 5.8.8 |
| 883 | |||
| 884 | 810 | ||
| 885 | If you don't want all old messages, but the parent of the message you're just reading, | 811 | If you don't want all old messages, but the parent of the message you're just reading, |
| 886 | you can say @samp{^}, if you want to retrieve the whole thread | 812 | you can say @samp{^}, if you want to retrieve the whole thread |
| 887 | the message you're just reading belongs to, @samp{A T} is your friend. | 813 | the message you're just reading belongs to, @samp{A T} is your friend. |
| 888 | |||
| 889 | @ifnottex | ||
| 890 | @node [4.2], [4.3], [4.1], FAQ 4 - Reading messages | ||
| 891 | @end ifnottex | ||
| 892 | @subsubheading Question 4.2: | ||
| 893 | 814 | ||
| 894 | How to tell Gnus to show an important message every time I | 815 | @node [4.2] |
| 895 | enter a group, even when it's read? | 816 | @subsubheading Question 4.2 |
| 896 | |||
| 897 | 817 | ||
| 898 | Answer: | 818 | How to tell Gnus to show an important message every time I |
| 819 | enter a group, even when it's read? | ||
| 899 | 820 | ||
| 900 | You can tick important messages. To do this hit | 821 | @subsubheading Answer |
| 901 | @samp{u} while point is in summary buffer | ||
| 902 | over the message. When you want to remove the mark, hit | ||
| 903 | either @samp{d} (this deletes the tick | ||
| 904 | mark and set's unread mark) or @samp{M c} | ||
| 905 | (which deletes all marks for the message). | ||
| 906 | |||
| 907 | @ifnottex | ||
| 908 | @node [4.3], [4.4], [4.2], FAQ 4 - Reading messages | ||
| 909 | @end ifnottex | ||
| 910 | @subsubheading Question 4.3: | ||
| 911 | 822 | ||
| 912 | How to view the headers of a message? | 823 | You can tick important messages. To do this hit |
| 913 | 824 | @samp{u} while point is in summary buffer | |
| 825 | over the message. When you want to remove the mark, hit | ||
| 826 | either @samp{d} (this deletes the tick | ||
| 827 | mark and set's unread mark) or @samp{M c} | ||
| 828 | (which deletes all marks for the message). | ||
| 914 | 829 | ||
| 915 | Answer: | 830 | @node [4.3] |
| 831 | @subsubheading Question 4.3 | ||
| 916 | 832 | ||
| 917 | Say @samp{t} | 833 | How to view the headers of a message? |
| 918 | to show all headers, one more | ||
| 919 | @samp{t} | ||
| 920 | hides them again. | ||
| 921 | |||
| 922 | @ifnottex | ||
| 923 | @node [4.4], [4.5], [4.3], FAQ 4 - Reading messages | ||
| 924 | @end ifnottex | ||
| 925 | @subsubheading Question 4.4: | ||
| 926 | 834 | ||
| 927 | How to view the raw unformatted message? | 835 | @subsubheading Answer |
| 928 | |||
| 929 | 836 | ||
| 930 | Answer: | 837 | Say @samp{t} |
| 838 | to show all headers, one more | ||
| 839 | @samp{t} | ||
| 840 | hides them again. | ||
| 931 | 841 | ||
| 932 | Say | 842 | @node [4.4] |
| 933 | @samp{C-u g} | 843 | @subsubheading Question 4.4 |
| 934 | to show the raw message | ||
| 935 | @samp{g} | ||
| 936 | returns to normal view. | ||
| 937 | |||
| 938 | @ifnottex | ||
| 939 | @node [4.5], [4.6], [4.4], FAQ 4 - Reading messages | ||
| 940 | @end ifnottex | ||
| 941 | @subsubheading Question 4.5: | ||
| 942 | 844 | ||
| 943 | How can I change the headers Gnus displays by default at | 845 | How to view the raw unformatted message? |
| 944 | the top of the article buffer? | ||
| 945 | |||
| 946 | 846 | ||
| 947 | Answer: | 847 | @subsubheading Answer |
| 848 | |||
| 849 | Say | ||
| 850 | @samp{C-u g} | ||
| 851 | to show the raw message | ||
| 852 | @samp{g} | ||
| 853 | returns to normal view. | ||
| 854 | |||
| 855 | @node [4.5] | ||
| 856 | @subsubheading Question 4.5 | ||
| 857 | |||
| 858 | How can I change the headers Gnus displays by default at | ||
| 859 | the top of the article buffer? | ||
| 860 | |||
| 861 | @subsubheading Answer | ||
| 862 | |||
| 863 | The variable gnus-visible-headers controls which headers | ||
| 864 | are shown, its value is a regular expression, header lines | ||
| 865 | which match it are shown. So if you want author, subject, | ||
| 866 | date, and if the header exists, Followup-To and MUA / NUA | ||
| 867 | say this in ~/.gnus.el: | ||
| 948 | 868 | ||
| 949 | The variable gnus-visible-headers controls which headers | ||
| 950 | are shown, its value is a regular expression, header lines | ||
| 951 | which match it are shown. So if you want author, subject, | ||
| 952 | date, and if the header exists, Followup-To and MUA / NUA | ||
| 953 | say this in ~/.gnus: | ||
| 954 | |||
| 955 | @example | 869 | @example |
| 956 | (setq gnus-visible-headers | 870 | (setq gnus-visible-headers |
| 957 | "^\\(From:\\|Subject:\\|Date:\\|Followup-To:\ | 871 | '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To" |
| 958 | \\|X-Newsreader:\\|User-Agent:\\|X-Mailer:\\)") | 872 | "^User-Agent" "^X-Newsreader" "^X-Mailer")) |
| 959 | @end example | 873 | @end example |
| 960 | 874 | @noindent | |
| 961 | @ifnottex | ||
| 962 | @node [4.6], [4.7], [4.5], FAQ 4 - Reading messages | ||
| 963 | @end ifnottex | ||
| 964 | @subsubheading Question 4.6: | ||
| 965 | 875 | ||
| 966 | I'd like Gnus NOT to render HTML-mails but show me the | 876 | @node [4.6] |
| 967 | text part if it's available. How to do it? | 877 | @subsubheading Question 4.6 |
| 968 | |||
| 969 | 878 | ||
| 970 | Answer: | 879 | I'd like Gnus NOT to render HTML-mails but show me the |
| 880 | text part if it's available. How to do it? | ||
| 971 | 881 | ||
| 972 | Say | 882 | @subsubheading Answer |
| 973 | 883 | ||
| 884 | Say | ||
| 974 | 885 | ||
| 975 | @example | 886 | @example |
| 976 | (eval-after-load "mm-decode" | 887 | (eval-after-load "mm-decode" |
| @@ -978,240 +889,206 @@ Answer: | |||
| 978 | (add-to-list 'mm-discouraged-alternatives "text/html") | 889 | (add-to-list 'mm-discouraged-alternatives "text/html") |
| 979 | (add-to-list 'mm-discouraged-alternatives "text/richtext"))) | 890 | (add-to-list 'mm-discouraged-alternatives "text/richtext"))) |
| 980 | @end example | 891 | @end example |
| 981 | |||
| 982 | @noindent | 892 | @noindent |
| 983 | in ~/.gnus. If you don't want HTML rendered, even if there's no text alternative add | 893 | |
| 984 | 894 | in ~/.gnus.el. If you don't want HTML rendered, even if there's no text alternative add | |
| 985 | 895 | ||
| 986 | @example | 896 | @example |
| 987 | (setq mm-automatic-display (remove "text/html" mm-automatic-display)) | 897 | (setq mm-automatic-display (remove "text/html" mm-automatic-display)) |
| 988 | @end example | 898 | @end example |
| 989 | |||
| 990 | @noindent | 899 | @noindent |
| 991 | too. | ||
| 992 | |||
| 993 | @ifnottex | ||
| 994 | @node [4.7], [4.8], [4.6], FAQ 4 - Reading messages | ||
| 995 | @end ifnottex | ||
| 996 | @subsubheading Question 4.7: | ||
| 997 | 900 | ||
| 998 | Can I use some other browser than w3 to render my HTML-mails? | 901 | too. |
| 999 | |||
| 1000 | 902 | ||
| 1001 | Answer: | 903 | @node [4.7] |
| 904 | @subsubheading Question 4.7 | ||
| 1002 | 905 | ||
| 1003 | Only if you use Gnus 5.10 or younger. In this case you've got the | 906 | Can I use some other browser than w3 to render my HTML-mails? |
| 1004 | choice between w3, w3m, links, lynx and html2text, which | 907 | |
| 1005 | one is used can be specified in the variable | 908 | @subsubheading Answer |
| 1006 | mm-text-html-renderer, so if you want links to render your | 909 | |
| 1007 | mail say | 910 | Only if you use Gnus 5.10 or younger. In this case you've got the |
| 1008 | 911 | choice between w3, w3m, links, lynx and html2text, which | |
| 912 | one is used can be specified in the variable | ||
| 913 | mm-text-html-renderer, so if you want links to render your | ||
| 914 | mail say | ||
| 1009 | 915 | ||
| 1010 | @example | 916 | @example |
| 1011 | (setq mm-text-html-renderer 'links) | 917 | (setq mm-text-html-renderer 'links) |
| 1012 | @end example | 918 | @end example |
| 1013 | 919 | @noindent | |
| 1014 | @ifnottex | ||
| 1015 | @node [4.8], [4.9], [4.7], FAQ 4 - Reading messages | ||
| 1016 | @end ifnottex | ||
| 1017 | @subsubheading Question 4.8: | ||
| 1018 | |||
| 1019 | Is there anything I can do to make poorly formatted mails | ||
| 1020 | more readable? | ||
| 1021 | |||
| 1022 | |||
| 1023 | Answer: | ||
| 1024 | |||
| 1025 | Gnus offers you several functions to "wash" incoming mail, | ||
| 1026 | you can find them if you browse through the menu, item Article->Washing. The most | ||
| 1027 | interesting ones are probably "Wrap long lines" ( | ||
| 1028 | @samp{W w} | ||
| 1029 | ), "Decode ROT13" ( | ||
| 1030 | @samp{W r} | ||
| 1031 | ) and "Outlook Deuglify" which repairs the dumb quoting used | ||
| 1032 | by many users of Microsoft products ( | ||
| 1033 | @samp{W Y f} gives you full deuglify. | ||
| 1034 | See @samp{W Y C-h} or | ||
| 1035 | have a look at the menus for other deuglifications). | ||
| 1036 | Outlook deuglify is only available since Gnus 5.10. | ||
| 1037 | |||
| 1038 | @ifnottex | ||
| 1039 | @node [4.9], [4.10], [4.8], FAQ 4 - Reading messages | ||
| 1040 | @end ifnottex | ||
| 1041 | @subsubheading Question 4.9: | ||
| 1042 | |||
| 1043 | Is there a way to automatically ignore posts by specific | ||
| 1044 | authors or with specific words in the subject? And can I | ||
| 1045 | highlight more interesting ones in some way? | ||
| 1046 | |||
| 1047 | |||
| 1048 | Answer: | ||
| 1049 | |||
| 1050 | You want Scoring. Scoring means, that you define rules | ||
| 1051 | which assign each message an integer value. Depending on | ||
| 1052 | the value the message is highlighted in summary buffer (if | ||
| 1053 | it's high, say +2000) or automatically marked read (if the | ||
| 1054 | value is low, say -800) or some other action happens. | ||
| 1055 | |||
| 1056 | |||
| 1057 | There are basically three ways of setting up rules which assign | ||
| 1058 | the scoring-value to messages. The first and easiest way is to set | ||
| 1059 | up rules based on the article you are just reading. Say you're | ||
| 1060 | reading a message by a guy who always writes nonsense and you want | ||
| 1061 | to ignore his messages in the future. Hit | ||
| 1062 | @samp{L}, to set up a rule which lowers the score. | ||
| 1063 | Now Gnus asks you which the criteria for lowering the Score shall | ||
| 1064 | be. Hit @samp{?} twice to see all possibilities, | ||
| 1065 | we want @samp{a} which means the author (the from | ||
| 1066 | header). Now Gnus wants to know which kind of matching we want. | ||
| 1067 | Hit either @samp{e} for an exact match or | ||
| 1068 | @samp{s} for substring-match and delete afterwards | ||
| 1069 | everything but the name to score down all authors with the given | ||
| 1070 | name no matter which email address is used. Now you need to tell | ||
| 1071 | Gnus when to apply the rule and how long it should last, hit e.g. | ||
| 1072 | @samp{p} to apply the rule now and let it last | ||
| 1073 | forever. If you want to raise the score instead of lowering it say | ||
| 1074 | @samp{I} instead of @samp{L}. | ||
| 1075 | |||
| 1076 | 920 | ||
| 1077 | You can also set up rules by hand. To do this say @samp{V | 921 | @node [4.8] |
| 1078 | f} in summary buffer. Then you are asked for the name | 922 | @subsubheading Question 4.8 |
| 1079 | of the score file, it's name.of.group.SCORE for rules valid in | 923 | |
| 1080 | only one group or all.Score for rules valid in all groups. See the | 924 | Is there anything I can do to make poorly formatted mails |
| 1081 | Gnus manual for the exact syntax, basically it's one big list | 925 | more readable? |
| 1082 | whose elements are lists again. the first element of those lists | 926 | |
| 1083 | is the header to score on, then one more list with what to match, | 927 | @subsubheading Answer |
| 1084 | which score to assign, when to expire the rule and how to do the | 928 | |
| 1085 | matching. If you find me very interesting, you could e.g. add the | 929 | Gnus offers you several functions to "wash" incoming mail, you can |
| 1086 | following to your all.Score: | 930 | find them if you browse through the menu, item |
| 1087 | 931 | Article->Washing. The most interesting ones are probably "Wrap | |
| 932 | long lines" (@samp{W w}), "Decode ROT13" | ||
| 933 | (@samp{W r}) and "Outlook Deuglify" which repairs | ||
| 934 | the dumb quoting used by many users of Microsoft products | ||
| 935 | (@samp{W Y f} gives you full deuglify. | ||
| 936 | See @samp{W Y C-h} or have a look at the menus for | ||
| 937 | other deuglifications). Outlook deuglify is only available since | ||
| 938 | Gnus 5.10. | ||
| 939 | |||
| 940 | @node [4.9] | ||
| 941 | @subsubheading Question 4.9 | ||
| 942 | |||
| 943 | Is there a way to automatically ignore posts by specific | ||
| 944 | authors or with specific words in the subject? And can I | ||
| 945 | highlight more interesting ones in some way? | ||
| 946 | |||
| 947 | @subsubheading Answer | ||
| 948 | |||
| 949 | You want Scoring. Scoring means, that you define rules | ||
| 950 | which assign each message an integer value. Depending on | ||
| 951 | the value the message is highlighted in summary buffer (if | ||
| 952 | it's high, say +2000) or automatically marked read (if the | ||
| 953 | value is low, say -800) or some other action happens. | ||
| 954 | |||
| 955 | There are basically three ways of setting up rules which assign | ||
| 956 | the scoring-value to messages. The first and easiest way is to set | ||
| 957 | up rules based on the article you are just reading. Say you're | ||
| 958 | reading a message by a guy who always writes nonsense and you want | ||
| 959 | to ignore his messages in the future. Hit | ||
| 960 | @samp{L}, to set up a rule which lowers the score. | ||
| 961 | Now Gnus asks you which the criteria for lowering the Score shall | ||
| 962 | be. Hit @samp{?} twice to see all possibilities, | ||
| 963 | we want @samp{a} which means the author (the from | ||
| 964 | header). Now Gnus wants to know which kind of matching we want. | ||
| 965 | Hit either @samp{e} for an exact match or | ||
| 966 | @samp{s} for substring-match and delete afterwards | ||
| 967 | everything but the name to score down all authors with the given | ||
| 968 | name no matter which email address is used. Now you need to tell | ||
| 969 | Gnus when to apply the rule and how long it should last, hit e.g. | ||
| 970 | @samp{p} to apply the rule now and let it last | ||
| 971 | forever. If you want to raise the score instead of lowering it say | ||
| 972 | @samp{I} instead of @samp{L}. | ||
| 973 | |||
| 974 | You can also set up rules by hand. To do this say @samp{V | ||
| 975 | f} in summary buffer. Then you are asked for the name | ||
| 976 | of the score file, it's name.of.group.SCORE for rules valid in | ||
| 977 | only one group or all.Score for rules valid in all groups. See the | ||
| 978 | Gnus manual for the exact syntax, basically it's one big list | ||
| 979 | whose elements are lists again. the first element of those lists | ||
| 980 | is the header to score on, then one more list with what to match, | ||
| 981 | which score to assign, when to expire the rule and how to do the | ||
| 982 | matching. If you find me very interesting, you could e.g. add the | ||
| 983 | following to your all.Score: | ||
| 1088 | 984 | ||
| 1089 | @example | 985 | @example |
| 1090 | (("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s)) | 986 | (("references" ("hschmi22.userfqdn.rz-online.de" 500 nil s)) |
| 1091 | ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s))) | 987 | ("message-id" ("hschmi22.userfqdn.rz-online.de" 999 nil s))) |
| 1092 | @end example | 988 | @end example |
| 1093 | |||
| 1094 | @noindent | 989 | @noindent |
| 1095 | This would add 999 to the score of messages written by me | ||
| 1096 | and 500 to the score of messages which are a (possibly | ||
| 1097 | indirect) answer to a message written by me. Of course | ||
| 1098 | nobody with a sane mind would do this :-) | ||
| 1099 | |||
| 1100 | 990 | ||
| 1101 | The third alternative is adaptive scoring. This means Gnus | 991 | This would add 999 to the score of messages written by me |
| 1102 | watches you and tries to find out what you find | 992 | and 500 to the score of messages which are a (possibly |
| 1103 | interesting and what annoying and sets up rules | 993 | indirect) answer to a message written by me. Of course |
| 1104 | which reflect this. Adaptive scoring can be a huge help | 994 | nobody with a sane mind would do this :-) |
| 1105 | when reading high traffic groups. If you want to activate | 995 | |
| 1106 | adaptive scoring say | 996 | The third alternative is adaptive scoring. This means Gnus |
| 1107 | 997 | watches you and tries to find out what you find | |
| 998 | interesting and what annoying and sets up rules | ||
| 999 | which reflect this. Adaptive scoring can be a huge help | ||
| 1000 | when reading high traffic groups. If you want to activate | ||
| 1001 | adaptive scoring say | ||
| 1108 | 1002 | ||
| 1109 | @example | 1003 | @example |
| 1110 | (setq gnus-use-adaptive-scoring t) | 1004 | (setq gnus-use-adaptive-scoring t) |
| 1111 | @end example | 1005 | @end example |
| 1112 | |||
| 1113 | @noindent | 1006 | @noindent |
| 1114 | in ~/.gnus. | ||
| 1115 | |||
| 1116 | @ifnottex | ||
| 1117 | @node [4.10], [4.11], [4.9], FAQ 4 - Reading messages | ||
| 1118 | @end ifnottex | ||
| 1119 | @subsubheading Question 4.10: | ||
| 1120 | 1007 | ||
| 1121 | How can I disable threading in some (e.g. mail-) groups, or | 1008 | in ~/.gnus.el. |
| 1122 | set other variables specific for some groups? | ||
| 1123 | |||
| 1124 | 1009 | ||
| 1125 | Answer: | 1010 | @node [4.10] |
| 1011 | @subsubheading Question 4.10 | ||
| 1126 | 1012 | ||
| 1127 | While in group buffer move point over the group and hit | 1013 | How can I disable threading in some (e.g. mail-) groups, or |
| 1128 | @samp{G c}, this opens a buffer where you | 1014 | set other variables specific for some groups? |
| 1129 | can set options for the group. At the bottom of the buffer | ||
| 1130 | you'll find an item that allows you to set variables | ||
| 1131 | locally for the group. To disable threading enter | ||
| 1132 | gnus-show-threads as name of variable and nil as | ||
| 1133 | value. Hit button done at the top of the buffer when | ||
| 1134 | you're ready. | ||
| 1135 | |||
| 1136 | @ifnottex | ||
| 1137 | @node [4.11], [4.12], [4.10], FAQ 4 - Reading messages | ||
| 1138 | @end ifnottex | ||
| 1139 | @subsubheading Question 4.11: | ||
| 1140 | 1015 | ||
| 1141 | Can I highlight messages written by me and follow-ups to | 1016 | @subsubheading Answer |
| 1142 | those? | ||
| 1143 | |||
| 1144 | 1017 | ||
| 1145 | Answer: | 1018 | While in group buffer move point over the group and hit |
| 1019 | @samp{G c}, this opens a buffer where you | ||
| 1020 | can set options for the group. At the bottom of the buffer | ||
| 1021 | you'll find an item that allows you to set variables | ||
| 1022 | locally for the group. To disable threading enter | ||
| 1023 | gnus-show-threads as name of variable and nil as | ||
| 1024 | value. Hit button done at the top of the buffer when | ||
| 1025 | you're ready. | ||
| 1146 | 1026 | ||
| 1147 | Stop those "Can I ..." questions, the answer is always yes | 1027 | @node [4.11] |
| 1148 | in Gnus Country :-). It's a three step process: First we | 1028 | @subsubheading Question 4.11 |
| 1149 | make faces (specifications of how summary-line shall look | ||
| 1150 | like) for those postings, then we'll give them some | ||
| 1151 | special score and finally we'll tell Gnus to use the new | ||
| 1152 | faces. You can find detailed instructions on how to do it on | ||
| 1153 | @uref{http://my.gnus.org/Members/dzimmerm/HowTo%2C2002-07-25%2C1027619165012198456/view,my.gnus.org} | ||
| 1154 | |||
| 1155 | @ifnottex | ||
| 1156 | @node [4.12], [4.13], [4.11], FAQ 4 - Reading messages | ||
| 1157 | @end ifnottex | ||
| 1158 | @subsubheading Question 4.12: | ||
| 1159 | |||
| 1160 | The number of total messages in a group which Gnus | ||
| 1161 | displays in group buffer is by far to high, especially in | ||
| 1162 | mail groups. Is this a bug? | ||
| 1163 | |||
| 1164 | 1029 | ||
| 1165 | Answer: | 1030 | Can I highlight messages written by me and follow-ups to |
| 1166 | 1031 | those? | |
| 1167 | No, that's a matter of design of Gnus, fixing this would | ||
| 1168 | mean reimplementation of major parts of Gnus' | ||
| 1169 | back ends. Gnus thinks "highest-article-number - | ||
| 1170 | lowest-article-number = total-number-of-articles". This | ||
| 1171 | works OK for Usenet groups, but if you delete and move | ||
| 1172 | many messages in mail groups, this fails. To cure the | ||
| 1173 | symptom, enter the group via @samp{C-u RET} | ||
| 1174 | (this makes Gnus get all messages), then | ||
| 1175 | hit @samp{M P b} to mark all messages and | ||
| 1176 | then say @samp{B m name.of.group} to move | ||
| 1177 | all messages to the group they have been in before, they | ||
| 1178 | get new message numbers in this process and the count is | ||
| 1179 | right again (until you delete and move your mail to other | ||
| 1180 | groups again). | ||
| 1181 | |||
| 1182 | @ifnottex | ||
| 1183 | @node [4.13], [4.14], [4.12], FAQ 4 - Reading messages | ||
| 1184 | @end ifnottex | ||
| 1185 | @subsubheading Question 4.13: | ||
| 1186 | 1032 | ||
| 1187 | I don't like the layout of summary and article buffer, how | 1033 | @subsubheading Answer |
| 1188 | to change it? Perhaps even a three pane display? | ||
| 1189 | |||
| 1190 | 1034 | ||
| 1191 | Answer: | 1035 | Stop those "Can I ..." questions, the answer is always yes |
| 1036 | in Gnus Country :-). It's a three step process: First we | ||
| 1037 | make faces (specifications of how summary-line shall look | ||
| 1038 | like) for those postings, then we'll give them some | ||
| 1039 | special score and finally we'll tell Gnus to use the new | ||
| 1040 | faces. You can find detailed instructions on how to do it on | ||
| 1041 | @uref{http://my.gnus.org/node/view/224, my.gnus.org} | ||
| 1192 | 1042 | ||
| 1193 | You can control the windows configuration by calling the | 1043 | @node [4.12] |
| 1194 | function gnus-add-configuration. The syntax is a bit | 1044 | @subsubheading Question 4.12 |
| 1195 | complicated but explained very well in the manual node | ||
| 1196 | "Window Layout". Some popular examples: | ||
| 1197 | |||
| 1198 | 1045 | ||
| 1199 | Instead 25% summary 75% article buffer 35% summary and 65% | 1046 | The number of total messages in a group which Gnus |
| 1200 | article (the 1.0 for article means "take the remaining | 1047 | displays in group buffer is by far to high, especially in |
| 1201 | space"): | 1048 | mail groups. Is this a bug? |
| 1202 | 1049 | ||
| 1050 | @subsubheading Answer | ||
| 1051 | |||
| 1052 | No, that's a matter of design of Gnus, fixing this would | ||
| 1053 | mean reimplementation of major parts of Gnus' | ||
| 1054 | back ends. Gnus thinks "highest-article-number - | ||
| 1055 | lowest-article-number = total-number-of-articles". This | ||
| 1056 | works OK for Usenet groups, but if you delete and move | ||
| 1057 | many messages in mail groups, this fails. To cure the | ||
| 1058 | symptom, enter the group via @samp{C-u RET} | ||
| 1059 | (this makes Gnus get all messages), then | ||
| 1060 | hit @samp{M P b} to mark all messages and | ||
| 1061 | then say @samp{B m name.of.group} to move | ||
| 1062 | all messages to the group they have been in before, they | ||
| 1063 | get new message numbers in this process and the count is | ||
| 1064 | right again (until you delete and move your mail to other | ||
| 1065 | groups again). | ||
| 1066 | |||
| 1067 | @node [4.13] | ||
| 1068 | @subsubheading Question 4.13 | ||
| 1069 | |||
| 1070 | I don't like the layout of summary and article buffer, how | ||
| 1071 | to change it? Perhaps even a three pane display? | ||
| 1072 | |||
| 1073 | @subsubheading Answer | ||
| 1074 | |||
| 1075 | You can control the windows configuration by calling the | ||
| 1076 | function gnus-add-configuration. The syntax is a bit | ||
| 1077 | complicated but explained very well in the manual node | ||
| 1078 | "Window Layout". Some popular examples: | ||
| 1079 | |||
| 1080 | Instead 25% summary 75% article buffer 35% summary and 65% | ||
| 1081 | article (the 1.0 for article means "take the remaining | ||
| 1082 | space"): | ||
| 1203 | 1083 | ||
| 1204 | @example | 1084 | @example |
| 1205 | (gnus-add-configuration | 1085 | (gnus-add-configuration |
| 1206 | '(article (vertical 1.0 | 1086 | '(article (vertical 1.0 (summary .35 point) (article 1.0)))) |
| 1207 | (summary .35 point) | ||
| 1208 | (article 1.0)))) | ||
| 1209 | @end example | 1087 | @end example |
| 1210 | 1088 | @noindent | |
| 1211 | 1089 | ||
| 1212 | A three pane layout, Group buffer on the left, summary | 1090 | A three pane layout, Group buffer on the left, summary |
| 1213 | buffer top-right, article buffer bottom-right: | 1091 | buffer top-right, article buffer bottom-right: |
| 1214 | |||
| 1215 | 1092 | ||
| 1216 | @example | 1093 | @example |
| 1217 | (gnus-add-configuration | 1094 | (gnus-add-configuration |
| @@ -1228,46 +1105,40 @@ Answer: | |||
| 1228 | (vertical 25 | 1105 | (vertical 25 |
| 1229 | (group 1.0)) | 1106 | (group 1.0)) |
| 1230 | (vertical 1.0 | 1107 | (vertical 1.0 |
| 1231 | (summary 1.0 point))))) | 1108 | (summary 1.0 point))))) |
| 1232 | @end example | 1109 | @end example |
| 1233 | 1110 | @noindent | |
| 1234 | @ifnottex | ||
| 1235 | @node [4.14], [4.15], [4.13], FAQ 4 - Reading messages | ||
| 1236 | @end ifnottex | ||
| 1237 | @subsubheading Question 4.14: | ||
| 1238 | 1111 | ||
| 1239 | I don't like the way the Summary buffer looks, how to tweak it? | 1112 | @node [4.14] |
| 1240 | 1113 | @subsubheading Question 4.14 | |
| 1241 | 1114 | ||
| 1242 | Answer: | 1115 | I don't like the way the Summary buffer looks, how to tweak it? |
| 1243 | |||
| 1244 | You've got to play around with the variable | ||
| 1245 | gnus-summary-line-format. It's value is a string of | ||
| 1246 | symbols which stand for things like author, date, subject | ||
| 1247 | etc. A list of the available specifiers can be found in the | ||
| 1248 | manual node "Summary Buffer Lines" and the often forgotten | ||
| 1249 | node "Formatting Variables" and it's sub-nodes. There | ||
| 1250 | you'll find useful things like positioning the cursor and | ||
| 1251 | tabulators which allow you a summary in table form, but | ||
| 1252 | sadly hard tabulators are broken in 5.8.8. | ||
| 1253 | |||
| 1254 | 1116 | ||
| 1255 | Since 5.10, Gnus offers you some very nice new specifiers, | 1117 | @subsubheading Answer |
| 1256 | e.g. %B which draws a thread-tree and %&user-date which | 1118 | |
| 1257 | gives you a date where the details are dependent of the | 1119 | You've got to play around with the variable |
| 1258 | articles age. Here's an example which uses both: | 1120 | gnus-summary-line-format. It's value is a string of |
| 1259 | 1121 | symbols which stand for things like author, date, subject | |
| 1122 | etc. A list of the available specifiers can be found in the | ||
| 1123 | manual node "Summary Buffer Lines" and the often forgotten | ||
| 1124 | node "Formatting Variables" and it's sub-nodes. There | ||
| 1125 | you'll find useful things like positioning the cursor and | ||
| 1126 | tabulators which allow you a summary in table form, but | ||
| 1127 | sadly hard tabulators are broken in 5.8.8. | ||
| 1128 | |||
| 1129 | Since 5.10, Gnus offers you some very nice new specifiers, | ||
| 1130 | e.g. %B which draws a thread-tree and %&user-date which | ||
| 1131 | gives you a date where the details are dependent of the | ||
| 1132 | articles age. Here's an example which uses both: | ||
| 1260 | 1133 | ||
| 1261 | @example | 1134 | @example |
| 1262 | (setq gnus-summary-line-format | 1135 | (setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n") |
| 1263 | ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n") | ||
| 1264 | @end example | 1136 | @end example |
| 1265 | |||
| 1266 | @noindent | 1137 | @noindent |
| 1267 | resulting in: | ||
| 1268 | |||
| 1269 | 1138 | ||
| 1270 | @smallexample | 1139 | resulting in: |
| 1140 | |||
| 1141 | @example | ||
| 1271 | :O Re: [Richard Stallman] rfc2047.el | 13 |Lars Magne Ingebrigt |Sat 23:06 | 1142 | :O Re: [Richard Stallman] rfc2047.el | 13 |Lars Magne Ingebrigt |Sat 23:06 |
| 1272 | :O Re: Revival of the ding-patches list | 13 |Lars Magne Ingebrigt |Sat 23:12 | 1143 | :O Re: Revival of the ding-patches list | 13 |Lars Magne Ingebrigt |Sat 23:12 |
| 1273 | :R > Re: Find correct list of articles for a gro| 25 |Lars Magne Ingebrigt |Sat 23:16 | 1144 | :R > Re: Find correct list of articles for a gro| 25 |Lars Magne Ingebrigt |Sat 23:16 |
| @@ -1280,54 +1151,48 @@ Answer: | |||
| 1280 | :R > Re: Gnus still doesn't count messages prope| 23 |Lars Magne Ingebrigt |Sat 23:57 | 1151 | :R > Re: Gnus still doesn't count messages prope| 23 |Lars Magne Ingebrigt |Sat 23:57 |
| 1281 | :O \-> ... | 18 |Kai Grossjohann | 0:35 | 1152 | :O \-> ... | 18 |Kai Grossjohann | 0:35 |
| 1282 | :O \-> ... | 13 |Lars Magne Ingebrigt | 0:56 | 1153 | :O \-> ... | 13 |Lars Magne Ingebrigt | 0:56 |
| 1283 | @end smallexample | 1154 | @end example |
| 1284 | 1155 | @noindent | |
| 1285 | @ifnottex | ||
| 1286 | @node [4.15], , [4.14], FAQ 4 - Reading messages | ||
| 1287 | @end ifnottex | ||
| 1288 | @subsubheading Question 4.15: | ||
| 1289 | 1156 | ||
| 1290 | How to split incoming mails in several groups? | 1157 | @node [4.15] |
| 1291 | 1158 | @subsubheading Question 4.15 | |
| 1292 | 1159 | ||
| 1293 | Answer: | 1160 | How to split incoming mails in several groups? |
| 1294 | 1161 | ||
| 1295 | Gnus offers two possibilities for splitting mail, the easy | 1162 | @subsubheading Answer |
| 1296 | nnmail-split-methods and the more powerful Fancy Mail | ||
| 1297 | Splitting. I'll only talk about the first one, refer to | ||
| 1298 | the manual, node "Fancy Mail Splitting" for the latter. | ||
| 1299 | |||
| 1300 | 1163 | ||
| 1301 | The value of nnmail-split-methods is a list, each element | 1164 | Gnus offers two possibilities for splitting mail, the easy |
| 1302 | is a list which stands for a splitting rule. Each rule has | 1165 | nnmail-split-methods and the more powerful Fancy Mail |
| 1303 | the form "group where matching articles should go to", | 1166 | Splitting. I'll only talk about the first one, refer to |
| 1304 | "regular expression which has to be matched", the first | 1167 | the manual, node "Fancy Mail Splitting" for the latter. |
| 1305 | rule which matches wins. The last rule must always be a | 1168 | |
| 1306 | general rule (regular expression .*) which denotes where | 1169 | The value of nnmail-split-methods is a list, each element |
| 1307 | articles should go which don't match any other rule. If | 1170 | is a list which stands for a splitting rule. Each rule has |
| 1308 | the folder doesn't exist yet, it will be created as soon | 1171 | the form "group where matching articles should go to", |
| 1309 | as an article lands there. By default the mail will be | 1172 | "regular expression which has to be matched", the first |
| 1310 | send to all groups whose rules match. If you | 1173 | rule which matches wins. The last rule must always be a |
| 1311 | don't want that (you probably don't want), say | 1174 | general rule (regular expression .*) which denotes where |
| 1312 | 1175 | articles should go which don't match any other rule. If | |
| 1176 | the folder doesn't exist yet, it will be created as soon | ||
| 1177 | as an article lands there. By default the mail will be | ||
| 1178 | send to all groups whose rules match. If you | ||
| 1179 | don't want that (you probably don't want), say | ||
| 1313 | 1180 | ||
| 1314 | @example | 1181 | @example |
| 1315 | (setq nnmail-crosspost nil) | 1182 | (setq nnmail-crosspost nil) |
| 1316 | @end example | 1183 | @end example |
| 1317 | |||
| 1318 | @noindent | 1184 | @noindent |
| 1319 | in ~/.gnus. | ||
| 1320 | |||
| 1321 | 1185 | ||
| 1322 | An example might be better than thousand words, so here's | 1186 | in ~/.gnus.el. |
| 1323 | my nnmail-split-methods. Note that I send duplicates in a | 1187 | |
| 1324 | special group and that the default group is spam, since I | 1188 | An example might be better than thousand words, so here's |
| 1325 | filter all mails out which are from some list I'm | 1189 | my nnmail-split-methods. Note that I send duplicates in a |
| 1326 | subscribed to or which are addressed directly to me | 1190 | special group and that the default group is spam, since I |
| 1327 | before. Those rules kill about 80% of the Spam which | 1191 | filter all mails out which are from some list I'm |
| 1328 | reaches me (Email addresses are changed to prevent spammers | 1192 | subscribed to or which are addressed directly to me |
| 1329 | from using them): | 1193 | before. Those rules kill about 80% of the Spam which |
| 1330 | 1194 | reaches me (Email addresses are changed to prevent spammers | |
| 1195 | from using them): | ||
| 1331 | 1196 | ||
| 1332 | @example | 1197 | @example |
| 1333 | (setq nnmail-split-methods | 1198 | (setq nnmail-split-methods |
| @@ -1336,133 +1201,114 @@ Answer: | |||
| 1336 | ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@@socha.bla.*") | 1201 | ("Gnus-Tut" "^\\(To:\\|CC:\\).*localpart@@socha.bla.*") |
| 1337 | ("tcsh" "^\\(To:\\|CC:\\).*localpart@@mx.gw.bla.*") | 1202 | ("tcsh" "^\\(To:\\|CC:\\).*localpart@@mx.gw.bla.*") |
| 1338 | ("BAfH" "^\\(To:\\|CC:\\).*localpart@@.*uni-muenchen.bla.*") | 1203 | ("BAfH" "^\\(To:\\|CC:\\).*localpart@@.*uni-muenchen.bla.*") |
| 1339 | ("Hamster-src" | 1204 | ("Hamster-src" "^\\(CC:\\|To:\\).*hamster-sourcen@@yahoogroups.\\(de\\|com\\).*") |
| 1340 | "^\\(CC:\\|To:\\).*hamster-sourcen@@yahoogroups.\\(de\\|com\\).*") | ||
| 1341 | ("Tagesschau" "^From: tagesschau <localpart@@www.tagesschau.bla>$") | 1205 | ("Tagesschau" "^From: tagesschau <localpart@@www.tagesschau.bla>$") |
| 1342 | ("Replies" "^\\(CC:\\|To:\\).*localpart@@Frank-Schmitt.bla.*") | 1206 | ("Replies" "^\\(CC:\\|To:\\).*localpart@@Frank-Schmitt.bla.*") |
| 1343 | ("EK" | 1207 | ("EK" "^From:.*\\(localpart@@privateprovider.bla\\|localpart@@workplace.bla\\).*") |
| 1344 | "^From:.*\\(localpart@@privateprovider.bla\\|localpart@@workplace.bla\\).*") | 1208 | ("Spam" "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*") |
| 1345 | ("Spam" | 1209 | ("Spam" "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*") |
| 1346 | "^Content-Type:.*\\(ks_c_5601-1987\\|EUC-KR\\|big5\\|iso-2022-jp\\).*") | 1210 | ("Spam" "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*") |
| 1347 | ("Spam" | ||
| 1348 | "^Subject:.*\\(This really work\\|XINGA\\|ADV:\\|XXX\\|adult\\|sex\\).*") | ||
| 1349 | ("Spam" | ||
| 1350 | "^Subject:.*\\(\=\?ks_c_5601-1987\?\\|\=\?euc-kr\?\\|\=\?big5\?\\).*") | ||
| 1351 | ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)") | 1211 | ("Spam" "^X-Mailer:\\(.*BulkMailer.*\\|.*MIME::Lite.*\\|\\)") |
| 1352 | ("Spam" | 1212 | ("Spam" "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)") |
| 1353 | "^X-Mailer:\\(.*CyberCreek Avalanche\\|.*http\:\/\/GetResponse\.com\\)") | 1213 | ("Spam" "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*") |
| 1354 | ("Spam" | ||
| 1355 | "^From:.*\\(verizon\.net\\|prontomail\.com\\|money\\|ConsumerDirect\\).*") | ||
| 1356 | ("Spam" "^Delivered-To: GMX delivery to spamtrap@@gmx.bla$") | 1214 | ("Spam" "^Delivered-To: GMX delivery to spamtrap@@gmx.bla$") |
| 1357 | ("Spam" "^Received: from link2buy.com") | 1215 | ("Spam" "^Received: from link2buy.com") |
| 1358 | ("Spam" "^CC: .*azzrael@@t-online.bla") | 1216 | ("Spam" "^CC: .*azzrael@@t-online.bla") |
| 1359 | ("Spam" "^X-Mailer-Version: 1.50 BETA") | 1217 | ("Spam" "^X-Mailer-Version: 1.50 BETA") |
| 1360 | ("Uni" "^\\(CC:\\|To:\\).*localpart@@uni-koblenz.bla.*") | 1218 | ("Uni" "^\\(CC:\\|To:\\).*localpart@@uni-koblenz.bla.*") |
| 1361 | ("Inbox" | 1219 | ("Inbox" "^\\(CC:\\|To:\\).*\\(my\ name\\|address@@one.bla\\|adress@@two.bla\\)") |
| 1362 | "^\\(CC:\\|To:\\).*\\(my\ name\\|address@@one.bla\\|adress@@two.bla\\)") | ||
| 1363 | ("Spam" ""))) | 1220 | ("Spam" ""))) |
| 1364 | @end example | 1221 | @end example |
| 1365 | 1222 | @noindent | |
| 1366 | 1223 | ||
| 1367 | @ifnottex | 1224 | @node FAQ 5 - Composing messages |
| 1368 | @node FAQ 5 - Composing messages, FAQ 6 - Old messages, FAQ 4 - Reading messages, Frequently Asked Questions | ||
| 1369 | @end ifnottex | ||
| 1370 | @subsection Composing messages | 1225 | @subsection Composing messages |
| 1371 | 1226 | ||
| 1372 | @menu | 1227 | @menu |
| 1373 | * [5.1]:: What are the basic commands I need to know for sending mail and | 1228 | * [5.1]:: What are the basic commands I need to know for sending |
| 1374 | postings? | 1229 | mail and postings? |
| 1375 | * [5.2]:: How to enable automatic word-wrap when composing messages? | 1230 | * [5.2]:: How to enable automatic word-wrap when composing messages? |
| 1376 | * [5.3]:: How to set stuff like From, Organization, Reply-To, signature...? | 1231 | * [5.3]:: How to set stuff like From, Organization, Reply-To, |
| 1377 | * [5.4]:: Can I set things like From, Signature etc group based on the | 1232 | signature...? |
| 1378 | group I post too? | 1233 | * [5.4]:: Can I set things like From, Signature etc group based on |
| 1379 | * [5.5]:: Is there a spell-checker? Perhaps even on-the-fly spell-checking? | 1234 | the group I post too? |
| 1380 | * [5.6]:: Can I set the dictionary based on the group I'm posting to? | 1235 | * [5.5]:: Is there a spell-checker? Perhaps even on-the-fly |
| 1381 | * [5.7]:: Is there some kind of address-book, so I needn't remember all | 1236 | spell-checking? |
| 1382 | those email addresses? | 1237 | * [5.6]:: Can I set the dictionary based on the group I'm posting |
| 1383 | * [5.8]:: Sometimes I see little images at the top of article buffer. | 1238 | to? |
| 1384 | What's that and how can I send one with my postings, too? | 1239 | * [5.7]:: Is there some kind of address-book, so I needn't remember |
| 1385 | * [5.9]:: Sometimes I accidentally hit r instead of f in newsgroups. | 1240 | all those email addresses? |
| 1386 | Can Gnus warn me, when I'm replying by mail in newsgroups? | 1241 | * [5.8]:: Sometimes I see little images at the top of article |
| 1387 | * [5.10]:: How to tell Gnus not to generate a sender header? | 1242 | buffer. What's that and how can I send one with my postings, too? |
| 1388 | * [5.11]:: I want Gnus to locally store copies of my send mail and news, | 1243 | * [5.9]:: Sometimes I accidentally hit r instead of f in newsgroups. |
| 1389 | how to do it? | 1244 | Can Gnus warn me, when I'm replying by mail in newsgroups? |
| 1390 | * [5.12]:: People tell me my Message-IDs are not correct, | 1245 | * [5.10]:: How to tell Gnus not to generate a sender header? |
| 1391 | why aren't they and how to fix it? | 1246 | * [5.11]:: I want Gnus to locally store copies of my send mail and |
| 1247 | news, how to do it? | ||
| 1248 | * [5.12]:: People tell me my Message-IDs are not correct, why aren't | ||
| 1249 | they and how to fix it? | ||
| 1392 | @end menu | 1250 | @end menu |
| 1393 | 1251 | ||
| 1394 | @ifnottex | 1252 | @node [5.1] |
| 1395 | @node [5.1], [5.2], FAQ 5 - Composing messages, FAQ 5 - Composing messages | 1253 | @subsubheading Question 5.1 |
| 1396 | @end ifnottex | ||
| 1397 | @subsubheading Question 5.1: | ||
| 1398 | 1254 | ||
| 1399 | What are the basic commands I need to know for sending mail and postings? | 1255 | What are the basic commands I need to know for sending mail and postings? |
| 1400 | |||
| 1401 | 1256 | ||
| 1402 | Answer: | 1257 | @subsubheading Answer |
| 1403 | |||
| 1404 | To start composing a new mail hit @samp{m} | ||
| 1405 | either in Group or Summary buffer, for a posting, it's | ||
| 1406 | either @samp{a} in Group buffer and | ||
| 1407 | filling the Newsgroups header manually | ||
| 1408 | or @samp{a} in the Summary buffer of the | ||
| 1409 | group where the posting shall be send to. Replying by mail | ||
| 1410 | is | ||
| 1411 | @samp{r} if you don't want to cite the | ||
| 1412 | author, or import the cited text manually and | ||
| 1413 | @samp{R} to cite the text of the original | ||
| 1414 | message. For a follow up to a newsgroup, it's | ||
| 1415 | @samp{f} and @samp{F} | ||
| 1416 | (analog to @samp{r} and | ||
| 1417 | @samp{R}). | ||
| 1418 | |||
| 1419 | 1258 | ||
| 1420 | Enter new headers above the line saying "--text follows | 1259 | To start composing a new mail hit @samp{m} |
| 1421 | this line--", enter the text below the line. When ready | 1260 | either in Group or Summary buffer, for a posting, it's |
| 1422 | hit @samp{C-c C-c}, to send the message, | 1261 | either @samp{a} in Group buffer and |
| 1423 | if you want to finish it later hit @samp{C-c | 1262 | filling the Newsgroups header manually |
| 1424 | C-d} to save it in the drafts group, where you | 1263 | or @samp{a} in the Summary buffer of the |
| 1425 | can start editing it again by saying @samp{D | 1264 | group where the posting shall be send to. Replying by mail |
| 1426 | e}. | 1265 | is |
| 1427 | 1266 | @samp{r} if you don't want to cite the | |
| 1428 | @ifnottex | 1267 | author, or import the cited text manually and |
| 1429 | @node [5.2], [5.3], [5.1], FAQ 5 - Composing messages | 1268 | @samp{R} to cite the text of the original |
| 1430 | @end ifnottex | 1269 | message. For a follow up to a newsgroup, it's |
| 1431 | @subsubheading Question 5.2: | 1270 | @samp{f} and @samp{F} |
| 1271 | (analogously to @samp{r} and | ||
| 1272 | @samp{R}). | ||
| 1432 | 1273 | ||
| 1433 | How to enable automatic word-wrap when composing messages? | 1274 | Enter new headers above the line saying "--text follows |
| 1434 | 1275 | this line--", enter the text below the line. When ready | |
| 1276 | hit @samp{C-c C-c}, to send the message, | ||
| 1277 | if you want to finish it later hit @samp{C-c | ||
| 1278 | C-d} to save it in the drafts group, where you | ||
| 1279 | can start editing it again by saying @samp{D | ||
| 1280 | e}. | ||
| 1435 | 1281 | ||
| 1436 | Answer: | 1282 | @node [5.2] |
| 1283 | @subsubheading Question 5.2 | ||
| 1437 | 1284 | ||
| 1438 | Say | 1285 | How to enable automatic word-wrap when composing messages? |
| 1439 | 1286 | ||
| 1287 | @subsubheading Answer | ||
| 1288 | |||
| 1289 | Say | ||
| 1440 | 1290 | ||
| 1441 | @example | 1291 | @example |
| 1442 | (add-hook 'message-mode-hook | 1292 | (add-hook 'message-mode-hook |
| 1443 | (lambda () | 1293 | (lambda () |
| 1444 | (setq fill-column 72) | 1294 | (setq fill-column 72) |
| 1445 | (turn-on-auto-fill))) | 1295 | (turn-on-auto-fill))) |
| 1446 | @end example | 1296 | @end example |
| 1447 | |||
| 1448 | @noindent | 1297 | @noindent |
| 1449 | in ~/.gnus. You can reformat a paragraph by hitting | ||
| 1450 | @samp{M-q} (as usual) | ||
| 1451 | |||
| 1452 | @ifnottex | ||
| 1453 | @node [5.3], [5.4], [5.2], FAQ 5 - Composing messages | ||
| 1454 | @end ifnottex | ||
| 1455 | @subsubheading Question 5.3: | ||
| 1456 | 1298 | ||
| 1457 | How to set stuff like From, Organization, Reply-To, signature...? | 1299 | in ~/.gnus.el. You can reformat a paragraph by hitting |
| 1458 | 1300 | @samp{M-q} (as usual) | |
| 1459 | 1301 | ||
| 1460 | Answer: | 1302 | @node [5.3] |
| 1303 | @subsubheading Question 5.3 | ||
| 1461 | 1304 | ||
| 1462 | There are other ways, but you should use posting styles | 1305 | How to set stuff like From, Organization, Reply-To, signature...? |
| 1463 | for this. (See below why). | 1306 | |
| 1464 | This example should make the syntax clear: | 1307 | @subsubheading Answer |
| 1465 | 1308 | ||
| 1309 | There are other ways, but you should use posting styles | ||
| 1310 | for this. (See below why). | ||
| 1311 | This example should make the syntax clear: | ||
| 1466 | 1312 | ||
| 1467 | @example | 1313 | @example |
| 1468 | (setq gnus-posting-styles | 1314 | (setq gnus-posting-styles |
| @@ -1474,146 +1320,121 @@ Answer: | |||
| 1474 | ("X-SampleHeader" "foobar") | 1320 | ("X-SampleHeader" "foobar") |
| 1475 | (eval (setq some-variable "Foo bar"))))) | 1321 | (eval (setq some-variable "Foo bar"))))) |
| 1476 | @end example | 1322 | @end example |
| 1477 | |||
| 1478 | @noindent | 1323 | @noindent |
| 1479 | The ".*" means that this settings are the default ones | ||
| 1480 | (see below), valid values for the first element of the | ||
| 1481 | following lists are signature, signature-file, | ||
| 1482 | organization, address, name or body. The attribute name | ||
| 1483 | can also be a string. In that case, this will be used as | ||
| 1484 | a header name, and the value will be inserted in the | ||
| 1485 | headers of the article; if the value is `nil', the header | ||
| 1486 | name will be removed. You can also say (eval (foo bar)), | ||
| 1487 | then the function foo will be evaluated with argument bar | ||
| 1488 | and the result will be thrown away. | ||
| 1489 | |||
| 1490 | @ifnottex | ||
| 1491 | @node [5.4], [5.5], [5.3], FAQ 5 - Composing messages | ||
| 1492 | @end ifnottex | ||
| 1493 | @subsubheading Question 5.4: | ||
| 1494 | |||
| 1495 | Can I set things like From, Signature etc group based on the group I post too? | ||
| 1496 | |||
| 1497 | 1324 | ||
| 1498 | Answer: | 1325 | The ".*" means that this settings are the default ones |
| 1499 | 1326 | (see below), valid values for the first element of the | |
| 1500 | That's the strength of posting styles. Before, we used ".*" | 1327 | following lists are signature, signature-file, |
| 1501 | to set the default for all groups. You can use a regexp | 1328 | organization, address, name or body. The attribute name |
| 1502 | like "^gmane" and the following settings are only applied | 1329 | can also be a string. In that case, this will be used as |
| 1503 | to postings you send to the gmane hierarchy, use | 1330 | a header name, and the value will be inserted in the |
| 1504 | ".*binaries" instead and they will be applied to postings | 1331 | headers of the article; if the value is `nil', the header |
| 1505 | send to groups containing the string binaries in their | 1332 | name will be removed. You can also say (eval (foo bar)), |
| 1506 | name etc. | 1333 | then the function foo will be evaluated with argument bar |
| 1507 | 1334 | and the result will be thrown away. | |
| 1508 | 1335 | ||
| 1509 | You can instead of specifying a regexp specify a function | 1336 | @node [5.4] |
| 1510 | which is evaluated, only if it returns true, the | 1337 | @subsubheading Question 5.4 |
| 1511 | corresponding settings take effect. Two interesting | 1338 | |
| 1512 | candidates for this are message-news-p which returns t if | 1339 | Can I set things like From, Signature etc group based on the group I post too? |
| 1513 | the current Group is a newsgroup and the corresponding | 1340 | |
| 1514 | message-mail-p. | 1341 | @subsubheading Answer |
| 1515 | 1342 | ||
| 1516 | 1343 | That's the strength of posting styles. Before, we used ".*" | |
| 1517 | Note that all forms that match are applied, that means in | 1344 | to set the default for all groups. You can use a regexp |
| 1518 | the example below, when I post to | 1345 | like "^gmane" and the following settings are only applied |
| 1519 | gmane.mail.spam.spamassassin.general, the settings under | 1346 | to postings you send to the gmane hierarchy, use |
| 1520 | ".*" are applied and the settings under message-news-p and | 1347 | ".*binaries" instead and they will be applied to postings |
| 1521 | those under "^gmane" and those under | 1348 | send to groups containing the string binaries in their |
| 1522 | "^gmane\\.mail\\.spam\\.spamassassin\\.general$". Because | 1349 | name etc. |
| 1523 | of this put general settings at the top and specific ones | 1350 | |
| 1524 | at the bottom. | 1351 | You can instead of specifying a regexp specify a function |
| 1525 | 1352 | which is evaluated, only if it returns true, the | |
| 1353 | corresponding settings take effect. Two interesting | ||
| 1354 | candidates for this are message-news-p which returns t if | ||
| 1355 | the current Group is a newsgroup and the corresponding | ||
| 1356 | message-mail-p. | ||
| 1357 | |||
| 1358 | Note that all forms that match are applied, that means in | ||
| 1359 | the example below, when I post to | ||
| 1360 | gmane.mail.spam.spamassassin.general, the settings under | ||
| 1361 | ".*" are applied and the settings under message-news-p and | ||
| 1362 | those under "^gmane" and those under | ||
| 1363 | "^gmane\\.mail\\.spam\\.spamassassin\\.general$". Because | ||
| 1364 | of this put general settings at the top and specific ones | ||
| 1365 | at the bottom. | ||
| 1526 | 1366 | ||
| 1527 | @example | 1367 | @example |
| 1528 | (setq gnus-posting-styles | 1368 | (setq gnus-posting-styles |
| 1529 | '((".*" ;;default | 1369 | '((".*" ;;default |
| 1530 | (name "Frank Schmitt") | 1370 | (name "Frank Schmitt") |
| 1531 | (organization "Hamme net, kren mer och nimmi") | 1371 | (organization "Hamme net, kren mer och nimmi") |
| 1532 | (signature-file "~/.signature")) | 1372 | (signature-file "~/.signature") ) |
| 1533 | ((message-news-p) ;;Usenet news? | 1373 | ((message-news-p) ;;Usenet news? |
| 1534 | (address "mySpamTrap@@Frank-Schmitt.bla") | 1374 | (address "mySpamTrap@@Frank-Schmitt.bla") |
| 1535 | ("Reply-To" "hereRealRepliesOnlyPlease@@Frank-Schmitt.bla")) | 1375 | ("Reply-To" "hereRealRepliesOnlyPlease@@Frank-Schmitt.bla") ) |
| 1536 | ((message-mail-p) ;;mail? | 1376 | ((message-mail-p) ;;mail? |
| 1537 | (address "usedForMails@@Frank-Schmitt.bla")) | 1377 | (address "usedForMails@@Frank-Schmitt.bla") ) |
| 1538 | ("^gmane" ;;this is mail, too in fact | 1378 | ("^gmane" ;;this is mail, too in fact |
| 1539 | (address "usedForMails@@Frank-Schmitt.net") | 1379 | (address "usedForMails@@Frank-Schmitt.net") |
| 1540 | ("Reply-To" nil)) | 1380 | ("Reply-To" nil) ) |
| 1541 | ("^gmane.mail.spam.spamassassin.general$" | 1381 | ("^gmane.mail.spam.spamassassin.general$" |
| 1542 | (eval (setq mail-envelope-from "Azzrael@@rz-online.de")) | 1382 | (eval (setq mail-envelope-from "Azzrael@@rz-online.de")) |
| 1543 | (address "Azzrael@@rz-online.de")))) | 1383 | (address "Azzrael@@rz-online.de")) )) |
| 1544 | @end example | 1384 | @end example |
| 1545 | 1385 | @noindent | |
| 1546 | @ifnottex | ||
| 1547 | @node [5.5], [5.6], [5.4], FAQ 5 - Composing messages | ||
| 1548 | @end ifnottex | ||
| 1549 | @subsubheading Question 5.5: | ||
| 1550 | 1386 | ||
| 1551 | Is there a spell-checker? Perhaps even on-the-fly spell-checking? | 1387 | @node [5.5] |
| 1552 | 1388 | @subsubheading Question 5.5 | |
| 1553 | 1389 | ||
| 1554 | Answer: | 1390 | Is there a spell-checker? Perhaps even on-the-fly spell-checking? |
| 1555 | 1391 | ||
| 1556 | You can use ispell.el to spell-check stuff in Emacs. So the first | 1392 | @subsubheading Answer |
| 1557 | thing to do is to make sure that you've got either | ||
| 1558 | @itemize @bullet | ||
| 1559 | @item | ||
| 1560 | @uref{http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html,ispell} | ||
| 1561 | or | ||
| 1562 | @item | ||
| 1563 | @uref{http://aspell.sourceforge.net/,aspell} | ||
| 1564 | @end itemize | ||
| 1565 | @noindent | ||
| 1566 | installed and in your Path. | ||
| 1567 | |||
| 1568 | Then you need | ||
| 1569 | @uref{http://www.kdstevens.com/~stevens/ispell-page.html,ispell.el,ispell.el} | ||
| 1570 | and for on-the-fly spell-checking | ||
| 1571 | @uref{http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/flyspell.html,flyspell.el,flyspell.el}. | ||
| 1572 | Ispell.el is shipped with Gnus Emacs and available through the Emacs | ||
| 1573 | package system, flyspell.el is shipped with Emacs and part of XEmacs | ||
| 1574 | text-modes package which is available through the package system, so | ||
| 1575 | there should be no need to install them manually. | ||
| 1576 | |||
| 1577 | 1393 | ||
| 1578 | Ispell.el assumes you use ispell, if you choose aspell say | 1394 | You can use ispell.el to spell-check stuff in Emacs. So the |
| 1579 | 1395 | first thing to do is to make sure that you've got either | |
| 1396 | @uref{http://fmg-www.cs.ucla.edu/fmg-members/geoff/ispell.html, ispell} | ||
| 1397 | or @uref{http://aspell.sourceforge.net/, aspell} | ||
| 1398 | installed and in your Path. Then you need | ||
| 1399 | @uref{http://www.kdstevens.com/~stevens/ispell-page.html, ispell.el} | ||
| 1400 | and for on-the-fly spell-checking | ||
| 1401 | @uref{http://www-sop.inria.fr/mimosa/personnel/Manuel.Serrano/flyspell/flyspell.html, flyspell.el}. | ||
| 1402 | Ispell.el is shipped with Emacs and available through the XEmacs package system, | ||
| 1403 | flyspell.el is shipped with Emacs and part of XEmacs text-modes package which is | ||
| 1404 | available through the package system, so there should be no need to install them | ||
| 1405 | manually. | ||
| 1406 | |||
| 1407 | Ispell.el assumes you use ispell, if you choose aspell say | ||
| 1580 | 1408 | ||
| 1581 | @example | 1409 | @example |
| 1582 | (setq ispell-program-name "aspell") | 1410 | (setq ispell-program-name "aspell") |
| 1583 | @end example | 1411 | @end example |
| 1584 | |||
| 1585 | |||
| 1586 | @noindent | 1412 | @noindent |
| 1587 | in your Emacs configuration file. | ||
| 1588 | 1413 | ||
| 1414 | in your Emacs configuration file. | ||
| 1589 | 1415 | ||
| 1590 | If you want your outgoing messages to be spell-checked, say | 1416 | If you want your outgoing messages to be spell-checked, say |
| 1591 | |||
| 1592 | 1417 | ||
| 1593 | @example | 1418 | @example |
| 1594 | (add-hook 'message-send-hook 'ispell-message) | 1419 | (add-hook 'message-send-hook 'ispell-message) |
| 1595 | @end example | 1420 | @end example |
| 1596 | |||
| 1597 | @noindent | 1421 | @noindent |
| 1598 | In your ~/.gnus, if you prefer on-the-fly spell-checking say | 1422 | |
| 1599 | 1423 | In your ~/.gnus.el, if you prefer on-the-fly spell-checking say | |
| 1600 | 1424 | ||
| 1601 | @example | 1425 | @example |
| 1602 | (add-hook 'message-mode-hook (lambda () (flyspell-mode 1))) | 1426 | (add-hook 'message-mode-hook (lambda () (flyspell-mode 1))) |
| 1603 | @end example | 1427 | @end example |
| 1604 | 1428 | @noindent | |
| 1605 | @ifnottex | ||
| 1606 | @node [5.6], [5.7], [5.5], FAQ 5 - Composing messages | ||
| 1607 | @end ifnottex | ||
| 1608 | @subsubheading Question 5.6: | ||
| 1609 | 1429 | ||
| 1610 | Can I set the dictionary based on the group I'm posting to? | 1430 | @node [5.6] |
| 1611 | 1431 | @subsubheading Question 5.6 | |
| 1612 | 1432 | ||
| 1613 | Answer: | 1433 | Can I set the dictionary based on the group I'm posting to? |
| 1614 | 1434 | ||
| 1615 | Yes, say something like | 1435 | @subsubheading Answer |
| 1616 | 1436 | ||
| 1437 | Yes, say something like | ||
| 1617 | 1438 | ||
| 1618 | @example | 1439 | @example |
| 1619 | (add-hook 'gnus-select-group-hook | 1440 | (add-hook 'gnus-select-group-hook |
| @@ -1625,55 +1446,47 @@ Answer: | |||
| 1625 | (t | 1446 | (t |
| 1626 | (ispell-change-dictionary "english"))))) | 1447 | (ispell-change-dictionary "english"))))) |
| 1627 | @end example | 1448 | @end example |
| 1628 | |||
| 1629 | |||
| 1630 | @noindent | 1449 | @noindent |
| 1631 | in ~/.gnus. Change "^de\\." and "deutsch8" to something | ||
| 1632 | that suits your needs. | ||
| 1633 | 1450 | ||
| 1634 | @ifnottex | 1451 | in ~/.gnus.el. Change "^de\\." and "deutsch8" to something |
| 1635 | @node [5.7], [5.8], [5.6], FAQ 5 - Composing messages | 1452 | that suits your needs. |
| 1636 | @end ifnottex | ||
| 1637 | @subsubheading Question 5.7: | ||
| 1638 | 1453 | ||
| 1639 | Is there some kind of address-book, so I needn't remember | 1454 | @node [5.7] |
| 1640 | all those email addresses? | 1455 | @subsubheading Question 5.7 |
| 1641 | |||
| 1642 | 1456 | ||
| 1643 | Answer: | 1457 | Is there some kind of address-book, so I needn't remember |
| 1458 | all those email addresses? | ||
| 1644 | 1459 | ||
| 1645 | There's an very basic solution for this, mail aliases. | 1460 | @subsubheading Answer |
| 1646 | You can store your mail addresses in a ~/.mailrc file using a simple | 1461 | |
| 1647 | alias syntax: | 1462 | There's an very basic solution for this, mail aliases. |
| 1648 | 1463 | You can store your mail addresses in a ~/.mailrc file using a simple | |
| 1464 | alias syntax: | ||
| 1649 | 1465 | ||
| 1650 | @example | 1466 | @example |
| 1651 | alias al "Al <al@@english-heritage.bla>" | 1467 | alias al "Al <al@@english-heritage.bla>" |
| 1652 | @end example | 1468 | @end example |
| 1653 | |||
| 1654 | @noindent | 1469 | @noindent |
| 1655 | Then typing your alias (followed by a space or punctuation | ||
| 1656 | character) on a To: or Cc: line in the message buffer will | ||
| 1657 | cause Gnus to insert the full address for you. See the | ||
| 1658 | node "Mail Aliases" in Message (not Gnus) manual for | ||
| 1659 | details. | ||
| 1660 | |||
| 1661 | 1470 | ||
| 1662 | However, what you really want is the Insidious Big Brother | 1471 | Then typing your alias (followed by a space or punctuation |
| 1663 | Database bbdb. Get it through the XEmacs package system or from | 1472 | character) on a To: or Cc: line in the message buffer will |
| 1664 | @uref{http://bbdb.sourceforge.net/,bbdb's homepage}. | 1473 | cause Gnus to insert the full address for you. See the |
| 1665 | Now place the following in ~/.gnus, to activate bbdb for Gnus: | 1474 | node "Mail Aliases" in Message (not Gnus) manual for |
| 1666 | 1475 | details. | |
| 1476 | |||
| 1477 | However, what you really want is the Insidious Big Brother | ||
| 1478 | Database bbdb. Get it through the XEmacs package system or from | ||
| 1479 | @uref{http://bbdb.sourceforge.net/, bbdb's homepage}. | ||
| 1480 | Now place the following in ~/.gnus.el, to activate bbdb for Gnus: | ||
| 1667 | 1481 | ||
| 1668 | @example | 1482 | @example |
| 1669 | (require 'bbdb) | 1483 | (require 'bbdb) |
| 1670 | (bbdb-initialize 'gnus 'message) | 1484 | (bbdb-initialize 'gnus 'message) |
| 1671 | @end example | 1485 | @end example |
| 1672 | |||
| 1673 | @noindent | 1486 | @noindent |
| 1674 | Now you probably want some general bbdb configuration, | 1487 | |
| 1675 | place them in ~/.emacs: | 1488 | Now you probably want some general bbdb configuration, |
| 1676 | 1489 | place them in ~/.emacs: | |
| 1677 | 1490 | ||
| 1678 | @example | 1491 | @example |
| 1679 | (require 'bbdb) | 1492 | (require 'bbdb) |
| @@ -1689,56 +1502,50 @@ alias al "Al <al@@english-heritage.bla>" | |||
| 1689 | ;;No popup-buffers | 1502 | ;;No popup-buffers |
| 1690 | (setq bbdb-use-pop-up nil) | 1503 | (setq bbdb-use-pop-up nil) |
| 1691 | @end example | 1504 | @end example |
| 1692 | |||
| 1693 | @noindent | 1505 | @noindent |
| 1694 | Now you should be ready to go. Say @samp{M-x bbdb RET | ||
| 1695 | RET} to open a bbdb buffer showing all | ||
| 1696 | entries. Say @samp{c} to create a new | ||
| 1697 | entry, @samp{b} to search your BBDB and | ||
| 1698 | @samp{C-o} to add a new field to an | ||
| 1699 | entry. If you want to add a sender to the BBDB you can | ||
| 1700 | also just hit `:' on the posting in the summary buffer and | ||
| 1701 | you are done. When you now compose a new mail, | ||
| 1702 | hit @samp{TAB} to cycle through know | ||
| 1703 | recipients. | ||
| 1704 | |||
| 1705 | @ifnottex | ||
| 1706 | @node [5.8], [5.9], [5.7], FAQ 5 - Composing messages | ||
| 1707 | @end ifnottex | ||
| 1708 | @subsubheading Question 5.8: | ||
| 1709 | |||
| 1710 | Sometimes I see little images at the top of article | ||
| 1711 | buffer. What's that and how can I send one with my | ||
| 1712 | postings, too? | ||
| 1713 | |||
| 1714 | 1506 | ||
| 1715 | Answer: | 1507 | Now you should be ready to go. Say @samp{M-x bbdb RET |
| 1716 | 1508 | RET} to open a bbdb buffer showing all | |
| 1717 | Those images are called X-Faces. They are 48*48 pixel b/w | 1509 | entries. Say @samp{c} to create a new |
| 1718 | pictures, encoded in a header line. If you want to include | 1510 | entry, @samp{b} to search your BBDB and |
| 1719 | one in your posts, you've got to convert some image to a | 1511 | @samp{C-o} to add a new field to an |
| 1720 | X-Face. So fire up some image manipulation program (say | 1512 | entry. If you want to add a sender to the BBDB you can |
| 1721 | Gimp), open the image you want to include, cut out the | 1513 | also just hit `:' on the posting in the summary buffer and |
| 1722 | relevant part, reduce color depth to 1 bit, resize to | 1514 | you are done. When you now compose a new mail, |
| 1723 | 48*48 and save as bitmap. Now you should get the compface | 1515 | hit @samp{TAB} to cycle through know |
| 1724 | package from | 1516 | recipients. |
| 1725 | @uref{ftp://ftp.cs.indiana.edu:/pub/faces/,this site}. | 1517 | |
| 1726 | and create the actual X-face by saying | 1518 | @node [5.8] |
| 1727 | 1519 | @subsubheading Question 5.8 | |
| 1520 | |||
| 1521 | Sometimes I see little images at the top of article | ||
| 1522 | buffer. What's that and how can I send one with my | ||
| 1523 | postings, too? | ||
| 1524 | |||
| 1525 | @subsubheading Answer | ||
| 1526 | |||
| 1527 | Those images are called X-Faces. They are 48*48 pixel b/w | ||
| 1528 | pictures, encoded in a header line. If you want to include | ||
| 1529 | one in your posts, you've got to convert some image to a | ||
| 1530 | X-Face. So fire up some image manipulation program (say | ||
| 1531 | Gimp), open the image you want to include, cut out the | ||
| 1532 | relevant part, reduce color depth to 1 bit, resize to | ||
| 1533 | 48*48 and save as bitmap. Now you should get the compface | ||
| 1534 | package from | ||
| 1535 | @uref{ftp://ftp.cs.indiana.edu:/pub/faces/, this site}. | ||
| 1536 | and create the actual X-face by saying | ||
| 1728 | 1537 | ||
| 1729 | @example | 1538 | @example |
| 1730 | cat file.xbm | xbm2ikon |compface > file.face | 1539 | cat file.xbm | xbm2ikon | compface > file.face |
| 1731 | cat ./file.face | sed 's/\\/\\\\/g' | sed 's/\"/\\\"/g' > ./file.face.quoted | 1540 | cat file.face | sed 's/\\/\\\\/g;s/\"/\\\"/g;' > file.face.quoted |
| 1732 | @end example | 1541 | @end example |
| 1733 | |||
| 1734 | @noindent | 1542 | @noindent |
| 1735 | If you can't use compface, there's an online X-face converter at@* | ||
| 1736 | @uref{http://www.dairiki.org/xface/}. If you use MS Windows, you | ||
| 1737 | could also use the WinFace program from | ||
| 1738 | @uref{http://www.xs4all.nl/~walterln/winface/}. | ||
| 1739 | 1543 | ||
| 1740 | Now you only have to tell Gnus to include the X-face in your postings | 1544 | If you can't use compface, there's an online X-face converter at |
| 1741 | by saying | 1545 | @uref{http://www.dairiki.org/xface/}. |
| 1546 | If you use MS Windows, you could also use the WinFace program from | ||
| 1547 | @uref{http://www.xs4all.nl/~walterln/winface/}. | ||
| 1548 | Now you only have to tell Gnus to include the X-face in your postings by saying | ||
| 1742 | 1549 | ||
| 1743 | @example | 1550 | @example |
| 1744 | (setq message-default-headers | 1551 | (setq message-default-headers |
| @@ -1747,33 +1554,28 @@ by saying | |||
| 1747 | (insert-file-contents "~/.xemacs/xface") | 1554 | (insert-file-contents "~/.xemacs/xface") |
| 1748 | (buffer-string))) | 1555 | (buffer-string))) |
| 1749 | @end example | 1556 | @end example |
| 1750 | |||
| 1751 | @noindent | 1557 | @noindent |
| 1752 | in ~/.gnus. | ||
| 1753 | |||
| 1754 | @ifnottex | ||
| 1755 | @node [5.9], [5.10], [5.8], FAQ 5 - Composing messages | ||
| 1756 | @end ifnottex | ||
| 1757 | @subsubheading Question 5.9: | ||
| 1758 | |||
| 1759 | Sometimes I accidentally hit r instead of f in | ||
| 1760 | newsgroups. Can Gnus warn me, when I'm replying by mail in | ||
| 1761 | newsgroups? | ||
| 1762 | |||
| 1763 | 1558 | ||
| 1764 | Answer: | 1559 | in ~/.gnus.el. |
| 1765 | 1560 | ||
| 1766 | Put this in ~/.gnus: | 1561 | @node [5.9] |
| 1767 | 1562 | @subsubheading Question 5.9 | |
| 1563 | |||
| 1564 | Sometimes I accidentally hit r instead of f in | ||
| 1565 | newsgroups. Can Gnus warn me, when I'm replying by mail in | ||
| 1566 | newsgroups? | ||
| 1567 | |||
| 1568 | @subsubheading Answer | ||
| 1569 | |||
| 1570 | Put this in ~/.gnus.el: | ||
| 1768 | 1571 | ||
| 1769 | @example | 1572 | @example |
| 1770 | (setq gnus-confirm-mail-reply-to-news t) | 1573 | (setq gnus-confirm-mail-reply-to-news t) |
| 1771 | @end example | 1574 | @end example |
| 1772 | |||
| 1773 | @noindent | 1575 | @noindent |
| 1774 | if you already use Gnus 5.10, if you still use 5.8.8 or | 1576 | |
| 1775 | 5.9 try this instead: | 1577 | if you already use Gnus 5.10, if you still use 5.8.8 or |
| 1776 | 1578 | 5.9 try this instead: | |
| 1777 | 1579 | ||
| 1778 | @example | 1580 | @example |
| 1779 | (eval-after-load "gnus-msg" | 1581 | (eval-after-load "gnus-msg" |
| @@ -1785,44 +1587,37 @@ Answer: | |||
| 1785 | (y-or-n-p "Really reply by mail to article author? ")) | 1587 | (y-or-n-p "Really reply by mail to article author? ")) |
| 1786 | ad-do-it)))) | 1588 | ad-do-it)))) |
| 1787 | @end example | 1589 | @end example |
| 1788 | 1590 | @noindent | |
| 1789 | @ifnottex | ||
| 1790 | @node [5.10], [5.11], [5.9], FAQ 5 - Composing messages | ||
| 1791 | @end ifnottex | ||
| 1792 | @subsubheading Question 5.10: | ||
| 1793 | 1591 | ||
| 1794 | How to tell Gnus not to generate a sender header? | 1592 | @node [5.10] |
| 1795 | 1593 | @subsubheading Question 5.10 | |
| 1796 | 1594 | ||
| 1797 | Answer: | 1595 | How to tell Gnus not to generate a sender header? |
| 1798 | 1596 | ||
| 1799 | Since 5.10 Gnus doesn't generate a sender header by | 1597 | @subsubheading Answer |
| 1800 | default. For older Gnus' try this in ~/.gnus: | 1598 | |
| 1801 | 1599 | Since 5.10 Gnus doesn't generate a sender header by | |
| 1600 | default. For older Gnus' try this in ~/.gnus.el: | ||
| 1802 | 1601 | ||
| 1803 | @example | 1602 | @example |
| 1804 | (eval-after-load "message" | 1603 | (eval-after-load "message" |
| 1805 | '(add-to-list 'message-syntax-checks '(sender . disabled))) | 1604 | '(add-to-list 'message-syntax-checks '(sender . disabled))) |
| 1806 | @end example | 1605 | @end example |
| 1807 | 1606 | @noindent | |
| 1808 | |||
| 1809 | @ifnottex | ||
| 1810 | @node [5.11], [5.12], [5.10], FAQ 5 - Composing messages | ||
| 1811 | @end ifnottex | ||
| 1812 | @subsubheading Question 5.11: | ||
| 1813 | 1607 | ||
| 1814 | I want gnus to locally store copies of my send mail and | 1608 | @node [5.11] |
| 1815 | news, how to do it? | 1609 | @subsubheading Question 5.11 |
| 1816 | |||
| 1817 | 1610 | ||
| 1818 | Answer: | 1611 | I want Gnus to locally store copies of my send mail and |
| 1612 | news, how to do it? | ||
| 1819 | 1613 | ||
| 1820 | You must set the variable gnus-message-archive-group to do | 1614 | @subsubheading Answer |
| 1821 | this. You can set it to a string giving the name of the | 1615 | |
| 1822 | group where the copies shall go or like in the example | 1616 | You must set the variable gnus-message-archive-group to do |
| 1823 | below use a function which is evaluated and which returns | 1617 | this. You can set it to a string giving the name of the |
| 1824 | the group to use. | 1618 | group where the copies shall go or like in the example |
| 1825 | 1619 | below use a function which is evaluated and which returns | |
| 1620 | the group to use. | ||
| 1826 | 1621 | ||
| 1827 | @example | 1622 | @example |
| 1828 | (setq gnus-message-archive-group | 1623 | (setq gnus-message-archive-group |
| @@ -1830,31 +1625,31 @@ Answer: | |||
| 1830 | "nnml:Send-News" | 1625 | "nnml:Send-News" |
| 1831 | "nnml:Send-Mail"))) | 1626 | "nnml:Send-Mail"))) |
| 1832 | @end example | 1627 | @end example |
| 1833 | 1628 | @noindent | |
| 1834 | |||
| 1835 | @ifnottex | ||
| 1836 | @node [5.12], , [5.11], FAQ 5 - Composing messages | ||
| 1837 | @end ifnottex | ||
| 1838 | @subsubheading Question 5.12: | ||
| 1839 | 1629 | ||
| 1840 | People tell me my Message-IDs are not correct, why | 1630 | @node [5.12] |
| 1841 | aren't they and how to fix it? | 1631 | @subsubheading Question 5.12 |
| 1842 | 1632 | ||
| 1633 | People tell me my Message-IDs are not correct, why | ||
| 1634 | aren't they and how to fix it? | ||
| 1843 | 1635 | ||
| 1844 | Answer: | 1636 | @subsubheading Answer |
| 1637 | |||
| 1638 | The message-ID is an unique identifier for messages you | ||
| 1639 | send. To make it unique, Gnus need to know which machine | ||
| 1640 | name to put after the "@@". If the name of the machine | ||
| 1641 | where Gnus is running isn't suitable (it probably isn't | ||
| 1642 | at most private machines) you can tell Gnus what to use | ||
| 1643 | by saying: | ||
| 1845 | 1644 | ||
| 1846 | The message-ID is an unique identifier for messages you | ||
| 1847 | send. To make it unique, Gnus need to know which machine | ||
| 1848 | name to put after the "@@". If the name of the machine | ||
| 1849 | where Gnus is running isn't suitable (it probably isn't | ||
| 1850 | at most private machines) you can tell Gnus what to use | ||
| 1851 | by saying | ||
| 1852 | @example | 1645 | @example |
| 1853 | (setq message-user-fqdn "yourmachine.yourdomain.tld") | 1646 | (setq message-user-fqdn "yourmachine.yourdomain.tld") |
| 1854 | @end example | 1647 | @end example |
| 1855 | @noindent | 1648 | @noindent |
| 1856 | in ~/.gnus. If you use Gnus 5.9 or ealier, you can use this | 1649 | |
| 1857 | instead (works for newer versions a well): | 1650 | in ~/.gnus.el. If you use Gnus 5.9 or ealier, you can use this |
| 1651 | instead (works for newer versions a well): | ||
| 1652 | |||
| 1858 | @example | 1653 | @example |
| 1859 | (eval-after-load "message" | 1654 | (eval-after-load "message" |
| 1860 | '(let ((fqdn "yourmachine.yourdomain.tld"));; <-- Edit this! | 1655 | '(let ((fqdn "yourmachine.yourdomain.tld"));; <-- Edit this! |
| @@ -1865,110 +1660,97 @@ instead (works for newer versions a well): | |||
| 1865 | "Return user's fully qualified domain name." | 1660 | "Return user's fully qualified domain name." |
| 1866 | fqdn)))) | 1661 | fqdn)))) |
| 1867 | @end example | 1662 | @end example |
| 1663 | @noindent | ||
| 1868 | 1664 | ||
| 1869 | If you have no idea what to insert for | 1665 | If you have no idea what to insert for |
| 1870 | "yourmachine.yourdomain.tld", you've got several | 1666 | "yourmachine.yourdomain.tld", you've got several |
| 1871 | choices. You can either ask your provider if he allows | 1667 | choices. You can either ask your provider if he allows |
| 1872 | you to use something like | 1668 | you to use something like |
| 1873 | yourUserName.userfqdn.provider.net, or you can use | 1669 | yourUserName.userfqdn.provider.net, or you can use |
| 1874 | somethingUnique.yourdomain.tld if you own the domain | 1670 | somethingUnique.yourdomain.tld if you own the domain |
| 1875 | yourdomain.tld, or you can register at a service which | 1671 | yourdomain.tld, or you can register at a service which |
| 1876 | gives private users a FQDN for free, e.g. | 1672 | gives private users a FQDN for free, e.g. |
| 1877 | @uref{http://www.stura.tu-freiberg.de/~dlx/addfqdn.html}. | 1673 | @uref{http://www.stura.tu-freiberg.de/~dlx/addfqdn.html}. |
| 1878 | (Sorry but this website is in German, if you know of an | 1674 | (Sorry but this website is in German, if you know of an |
| 1879 | English one offering the same, drop me a note). | 1675 | English one offering the same, drop me a note). |
| 1880 | 1676 | ||
| 1881 | 1677 | Finally you can tell Gnus not to generate a Message-ID | |
| 1882 | Finally you can tell Gnus not to generate a Message-ID | 1678 | for News at all (and letting the server do the job) by saying |
| 1883 | for News at all (and letting the server do the job) by saying | ||
| 1884 | |||
| 1885 | 1679 | ||
| 1886 | @example | 1680 | @example |
| 1887 | (setq message-required-news-headers | 1681 | (setq message-required-news-headers |
| 1888 | (remove' Message-ID message-required-news-headers)) | 1682 | (remove' Message-ID message-required-news-headers)) |
| 1889 | @end example | 1683 | @end example |
| 1890 | |||
| 1891 | @noindent | 1684 | @noindent |
| 1892 | you can also tell Gnus not to generate Message-IDs for mail by saying | 1685 | |
| 1893 | 1686 | you can also tell Gnus not to generate Message-IDs for mail by saying | |
| 1894 | 1687 | ||
| 1895 | @example | 1688 | @example |
| 1896 | (setq message-required-mail-headers | 1689 | (setq message-required-mail-headers |
| 1897 | (remove' Message-ID message-required-mail-headers)) | 1690 | (remove' Message-ID message-required-mail-headers)) |
| 1898 | @end example | 1691 | @end example |
| 1899 | |||
| 1900 | @noindent | 1692 | @noindent |
| 1901 | , however some mail servers don't generate proper | ||
| 1902 | Message-IDs, too, so test if your Mail Server behaves | ||
| 1903 | correctly by sending yourself a Mail and looking at the Message-ID. | ||
| 1904 | |||
| 1905 | 1693 | ||
| 1906 | @ifnottex | 1694 | , however some mail servers don't generate proper |
| 1907 | @node FAQ 6 - Old messages, FAQ 7 - Gnus in a dial-up environment, FAQ 5 - Composing messages, Frequently Asked Questions | 1695 | Message-IDs, too, so test if your Mail Server behaves |
| 1908 | @end ifnottex | 1696 | correctly by sending yourself a Mail and looking at the Message-ID. |
| 1697 | |||
| 1698 | @node FAQ 6 - Old messages | ||
| 1909 | @subsection Old messages | 1699 | @subsection Old messages |
| 1910 | 1700 | ||
| 1911 | @menu | 1701 | @menu |
| 1912 | * [6.1]:: How to import my old mail into Gnus? | 1702 | * [6.1]:: How to import my old mail into Gnus? |
| 1913 | * [6.2]:: How to archive interesting messages? | 1703 | * [6.2]:: How to archive interesting messages? |
| 1914 | * [6.3]:: How to search for a specific message? | 1704 | * [6.3]:: How to search for a specific message? |
| 1915 | * [6.4]:: How to get rid of old unwanted mail? | 1705 | * [6.4]:: How to get rid of old unwanted mail? |
| 1916 | * [6.5]:: I want that all read messages are expired (at least in some | 1706 | * [6.5]:: I want that all read messages are expired (at least in some |
| 1917 | groups). How to do it? | 1707 | groups). How to do it? |
| 1918 | * [6.6]:: I don't want expiration to delete my mails but to move them | 1708 | * [6.6]:: I don't want expiration to delete my mails but to move them |
| 1919 | to another group. | 1709 | to another group. |
| 1920 | @end menu | 1710 | @end menu |
| 1921 | 1711 | ||
| 1922 | @ifnottex | 1712 | @node [6.1] |
| 1923 | @node [6.1], [6.2], FAQ 6 - Old messages, FAQ 6 - Old messages | 1713 | @subsubheading Question 6.1 |
| 1924 | @end ifnottex | 1714 | |
| 1925 | @subsubheading Question 6.1: | 1715 | How to import my old mail into Gnus? |
| 1926 | 1716 | ||
| 1927 | How to import my old mail into Gnus? | 1717 | @subsubheading Answer |
| 1928 | 1718 | ||
| 1929 | 1719 | The easiest way is to tell your old mail program to | |
| 1930 | Answer: | 1720 | export the messages in mbox format. Most Unix mailers |
| 1931 | 1721 | are able to do this, if you come from the MS Windows | |
| 1932 | The easiest way is to tell your old mail program to | 1722 | world, you may find tools at |
| 1933 | export the messages in mbox format. Most Unix mailers | 1723 | @uref{http://mbx2mbox.sourceforge.net/}. |
| 1934 | are able to do this, if you come from the MS Windows | 1724 | |
| 1935 | world, you may find tools at | 1725 | Now you've got to import this mbox file into Gnus. To do |
| 1936 | @uref{http://mbx2mbox.sourceforge.net/}. | 1726 | this, create a nndoc group based on the mbox file by |
| 1937 | 1727 | saying @samp{G f /path/file.mbox RET} in | |
| 1938 | 1728 | Group buffer. You now have read-only access to your | |
| 1939 | Now you've got to import this mbox file into Gnus. To do | 1729 | mail. If you want to import the messages to your normal |
| 1940 | this, create a nndoc group based on the mbox file by | 1730 | Gnus mail groups hierarchy, enter the nndoc group you've |
| 1941 | saying @samp{G f /path/file.mbox RET} in | 1731 | just created by saying @samp{C-u RET} |
| 1942 | Group buffer. You now have read-only access to your | 1732 | (thus making sure all messages are retrieved), mark all |
| 1943 | mail. If you want to import the messages to your normal | 1733 | messages by saying @samp{M P b} and |
| 1944 | Gnus mail groups hierarchy, enter the nndoc group you've | 1734 | either copy them to the desired group by saying |
| 1945 | just created by saying @samp{C-u RET} | 1735 | @samp{B c name.of.group RET} or send them |
| 1946 | (thus making sure all messages are retrieved), mark all | 1736 | through nnmail-split-methods (respool them) by saying |
| 1947 | messages by saying @samp{M P b} and | 1737 | @samp{B r}. |
| 1948 | either copy them to the desired group by saying | 1738 | |
| 1949 | @samp{B c name.of.group RET} or send them | 1739 | @node [6.2] |
| 1950 | through nnmail-split-methods (respool them) by saying | 1740 | @subsubheading Question 6.2 |
| 1951 | @samp{B r}. | 1741 | |
| 1952 | 1742 | How to archive interesting messages? | |
| 1953 | @ifnottex | 1743 | |
| 1954 | @node [6.2], [6.3], [6.1], FAQ 6 - Old messages | 1744 | @subsubheading Answer |
| 1955 | @end ifnottex | 1745 | |
| 1956 | @subsubheading Question 6.2: | 1746 | If you stumble across an interesting message, say in |
| 1957 | 1747 | gnu.emacs.gnus and want to archive it there are several | |
| 1958 | How to archive interesting messages? | 1748 | solutions. The first and easiest is to save it to a file |
| 1959 | 1749 | by saying @samp{O f}. However, wouldn't | |
| 1960 | 1750 | it be much more convenient to have more direct access to | |
| 1961 | Answer: | 1751 | the archived message from Gnus? If you say yes, put this |
| 1962 | 1752 | snippet by Frank Haun <pille3003@@fhaun.de> in | |
| 1963 | If you stumble across an interesting message, say in | 1753 | ~/.gnus.el: |
| 1964 | gnu.emacs.gnus and want to archive it there are several | ||
| 1965 | solutions. The first and easiest is to save it to a file | ||
| 1966 | by saying @samp{O f}. However, wouldn't | ||
| 1967 | it be much more convenient to have more direct access to | ||
| 1968 | the archived message from Gnus? If you say yes, put this | ||
| 1969 | snippet by Frank Haun <pille3003@@fhaun.de> in | ||
| 1970 | ~/.gnus: | ||
| 1971 | |||
| 1972 | 1754 | ||
| 1973 | @example | 1755 | @example |
| 1974 | (defun my-archive-article (&optional n) | 1756 | (defun my-archive-article (&optional n) |
| @@ -1987,624 +1769,531 @@ more then one article." | |||
| 1987 | (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name))))) | 1769 | (replace-regexp-in-string "^.*:" "" gnus-newsgroup-name))))) |
| 1988 | (gnus-summary-copy-article n archive-name))) | 1770 | (gnus-summary-copy-article n archive-name))) |
| 1989 | @end example | 1771 | @end example |
| 1990 | |||
| 1991 | @noindent | 1772 | @noindent |
| 1992 | You can now say @samp{M-x | ||
| 1993 | my-archive-article} in summary buffer to | ||
| 1994 | archive the article under the cursor in a nnml | ||
| 1995 | group. (Change nnml to your preferred back end) | ||
| 1996 | |||
| 1997 | 1773 | ||
| 1998 | Of course you can also make sure the cache is enabled by saying | 1774 | You can now say @samp{M-x |
| 1999 | 1775 | my-archive-article} in summary buffer to | |
| 1776 | archive the article under the cursor in a nnml | ||
| 1777 | group. (Change nnml to your preferred back end) | ||
| 1778 | |||
| 1779 | Of course you can also make sure the cache is enabled by saying | ||
| 2000 | 1780 | ||
| 2001 | @example | 1781 | @example |
| 2002 | (setq gnus-use-cache t) | 1782 | (setq gnus-use-cache t) |
| 2003 | @end example | 1783 | @end example |
| 2004 | |||
| 2005 | @noindent | 1784 | @noindent |
| 2006 | then you only have to set either the tick or the dormant | ||
| 2007 | mark for articles you want to keep, setting the read | ||
| 2008 | mark will remove them from cache. | ||
| 2009 | |||
| 2010 | @ifnottex | ||
| 2011 | @node [6.3], [6.4], [6.2], FAQ 6 - Old messages | ||
| 2012 | @end ifnottex | ||
| 2013 | @subsubheading Question 6.3: | ||
| 2014 | |||
| 2015 | How to search for a specific message? | ||
| 2016 | |||
| 2017 | |||
| 2018 | Answer: | ||
| 2019 | |||
| 2020 | There are several ways for this, too. For a posting from | ||
| 2021 | a Usenet group the easiest solution is probably to ask | ||
| 2022 | @uref{http://groups.google.com,groups.google.com}, | ||
| 2023 | if you found the posting there, tell Google to display | ||
| 2024 | the raw message, look for the message-id, and say | ||
| 2025 | @samp{M-^ the@@message.id RET} in a | ||
| 2026 | summary buffer. | ||
| 2027 | Since Gnus 5.10 there's also a Gnus interface for | ||
| 2028 | groups.google.com which you can call with | ||
| 2029 | @samp{G W}) in group buffer. | ||
| 2030 | |||
| 2031 | |||
| 2032 | Another idea which works for both mail and news groups | ||
| 2033 | is to enter the group where the message you are | ||
| 2034 | searching is and use the standard Emacs search | ||
| 2035 | @samp{C-s}, it's smart enough to look at | ||
| 2036 | articles in collapsed threads, too. If you want to | ||
| 2037 | search bodies, too try @samp{M-s} | ||
| 2038 | instead. Further on there are the | ||
| 2039 | gnus-summary-limit-to-foo functions, which can help you, | ||
| 2040 | too. | ||
| 2041 | |||
| 2042 | 1785 | ||
| 2043 | Of course you can also use grep to search through your | 1786 | then you only have to set either the tick or the dormant |
| 2044 | local mail, but this is both slow for big archives and | 1787 | mark for articles you want to keep, setting the read |
| 2045 | inconvenient since you are not displaying the found mail | 1788 | mark will remove them from cache. |
| 2046 | in Gnus. Here comes nnir into action. Nnir is a front end | 1789 | |
| 2047 | to search engines like swish-e or swish++ and | 1790 | @node [6.3] |
| 2048 | others. You index your mail with one of those search | 1791 | @subsubheading Question 6.3 |
| 2049 | engines and with the help of nnir you can search trough | 1792 | |
| 2050 | the indexed mail and generate a temporary group with all | 1793 | How to search for a specific message? |
| 2051 | messages which met your search criteria. If this sound | 1794 | |
| 2052 | cool to you get nnir.el from the contrib directory of the Gnus | 1795 | @subsubheading Answer |
| 2053 | distribution or | 1796 | |
| 2054 | @uref{http://quimby.gnus.org/cgi-bin/cvsweb.cgi/~checkout~/gnus/contrib/nnir.el?rev=HEAD&content-type=text/plain} | 1797 | There are several ways for this, too. For a posting from |
| 2055 | Instructions on how to use it are at the top of the file. | 1798 | a Usenet group the easiest solution is probably to ask |
| 2056 | 1799 | @uref{http://groups.google.com, groups.google.com}, | |
| 2057 | @ifnottex | 1800 | if you found the posting there, tell Google to display |
| 2058 | @node [6.4], [6.5], [6.3], FAQ 6 - Old messages | 1801 | the raw message, look for the message-id, and say |
| 2059 | @end ifnottex | 1802 | @samp{M-^ the@@message.id RET} in a |
| 2060 | @subsubheading Question 6.4: | 1803 | summary buffer. |
| 2061 | 1804 | Since Gnus 5.10 there's also a Gnus interface for | |
| 2062 | How to get rid of old unwanted mail? | 1805 | groups.google.com which you can call with |
| 2063 | 1806 | @samp{G W}) in group buffer. | |
| 2064 | 1807 | ||
| 2065 | Answer: | 1808 | Another idea which works for both mail and news groups |
| 2066 | 1809 | is to enter the group where the message you are | |
| 2067 | You can of course just mark the mail you don't need | 1810 | searching is and use the standard Emacs search |
| 2068 | anymore by saying @samp{#} with point | 1811 | @samp{C-s}, it's smart enough to look at |
| 2069 | over the mail and then say @samp{B DEL} | 1812 | articles in collapsed threads, too. If you want to |
| 2070 | to get rid of them forever. You could also instead of | 1813 | search bodies, too try @samp{M-s} |
| 2071 | actually deleting them, send them to a junk-group by | 1814 | instead. Further on there are the |
| 2072 | saying @samp{B m nnml:trash-bin} which | 1815 | gnus-summary-limit-to-foo functions, which can help you, |
| 2073 | you clear from time to time, but both are not the intended | 1816 | too. |
| 2074 | way in Gnus. | 1817 | |
| 2075 | 1818 | Of course you can also use grep to search through your | |
| 2076 | 1819 | local mail, but this is both slow for big archives and | |
| 2077 | In Gnus, we let mail expire like news expires on a news | 1820 | inconvenient since you are not displaying the found mail |
| 2078 | server. That means you tell Gnus the message is | 1821 | in Gnus. Here comes nnir into action. Nnir is a front end |
| 2079 | expirable (you tell Gnus "I don't need this mail | 1822 | to search engines like swish-e or swish++ and |
| 2080 | anymore") by saying @samp{E} with point | 1823 | others. You index your mail with one of those search |
| 2081 | over the mail in summary buffer. Now when you leave the | 1824 | engines and with the help of nnir you can search trough |
| 2082 | group, Gnus looks at all messages which you marked as | 1825 | the indexed mail and generate a temporary group with all |
| 2083 | expirable before and if they are old enough (default is | 1826 | messages which met your search criteria. If this sound |
| 2084 | older than a week) they are deleted. | 1827 | cool to you get nnir.el from |
| 2085 | 1828 | @uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/} | |
| 2086 | @ifnottex | 1829 | or @uref{ftp://ftp.is.informatik.uni-duisburg.de/pub/src/emacs/}. |
| 2087 | @node [6.5], [6.6], [6.4], FAQ 6 - Old messages | 1830 | Instructions on how to use it are at the top of the file. |
| 2088 | @end ifnottex | 1831 | |
| 2089 | @subsubheading Question 6.5: | 1832 | @node [6.4] |
| 2090 | 1833 | @subsubheading Question 6.4 | |
| 2091 | I want that all read messages are expired (at least in | 1834 | |
| 2092 | some groups). How to do it? | 1835 | How to get rid of old unwanted mail? |
| 2093 | 1836 | ||
| 2094 | 1837 | @subsubheading Answer | |
| 2095 | Answer: | 1838 | |
| 2096 | 1839 | You can of course just mark the mail you don't need | |
| 2097 | If you want all read messages to be expired (e.g. in | 1840 | anymore by saying @samp{#} with point |
| 2098 | mailing lists where there's an online archive), you've | 1841 | over the mail and then say @samp{B DEL} |
| 2099 | got two choices: auto-expire and | 1842 | to get rid of them forever. You could also instead of |
| 2100 | total-expire. Auto-expire means, that every article | 1843 | actually deleting them, send them to a junk-group by |
| 2101 | which has no marks set and is selected for reading is | 1844 | saying @samp{B m nnml:trash-bin} which |
| 2102 | marked as expirable, Gnus hits @samp{E} | 1845 | you clear from time to time, but both are not the intended |
| 2103 | for you every time you read a message. Total-expire | 1846 | way in Gnus. |
| 2104 | follows a slightly different approach, here all article | 1847 | |
| 2105 | where the read mark is set are expirable. | 1848 | In Gnus, we let mail expire like news expires on a news |
| 2106 | 1849 | server. That means you tell Gnus the message is | |
| 2107 | 1850 | expirable (you tell Gnus "I don't need this mail | |
| 2108 | To activate auto-expire, include auto-expire in the | 1851 | anymore") by saying @samp{E} with point |
| 2109 | Group parameters for the group. (Hit @samp{G | 1852 | over the mail in summary buffer. Now when you leave the |
| 2110 | c} in summary buffer with point over the | 1853 | group, Gnus looks at all messages which you marked as |
| 2111 | group to change group parameters). For total-expire add | 1854 | expirable before and if they are old enough (default is |
| 2112 | total-expire to the group-parameters. | 1855 | older than a week) they are deleted. |
| 2113 | 1856 | ||
| 2114 | 1857 | @node [6.5] | |
| 2115 | Which method you choose is merely a matter of taste: | 1858 | @subsubheading Question 6.5 |
| 2116 | Auto-expire is faster, but it doesn't play together with | 1859 | |
| 2117 | Adaptive Scoring, so if you want to use this feature, | 1860 | I want that all read messages are expired (at least in |
| 2118 | you should use total-expire. | 1861 | some groups). How to do it? |
| 2119 | 1862 | ||
| 2120 | 1863 | @subsubheading Answer | |
| 2121 | If you want a message to be excluded from expiration in | 1864 | |
| 2122 | a group where total or auto expire is active, set either | 1865 | If you want all read messages to be expired (e.g. in |
| 2123 | tick (hit @samp{u}) or dormant mark (hit | 1866 | mailing lists where there's an online archive), you've |
| 2124 | @samp{u}), when you use auto-expire, you | 1867 | got two choices: auto-expire and |
| 2125 | can also set the read mark (hit | 1868 | total-expire. Auto-expire means, that every article |
| 2126 | @samp{d}). | 1869 | which has no marks set and is selected for reading is |
| 2127 | 1870 | marked as expirable, Gnus hits @samp{E} | |
| 2128 | @ifnottex | 1871 | for you every time you read a message. Total-expire |
| 2129 | @node [6.6], , [6.5], FAQ 6 - Old messages | 1872 | follows a slightly different approach, here all article |
| 2130 | @end ifnottex | 1873 | where the read mark is set are expirable. |
| 2131 | @subsubheading Question 6.6: | 1874 | |
| 2132 | 1875 | To activate auto-expire, include auto-expire in the | |
| 2133 | I don't want expiration to delete my mails but to move them | 1876 | Group parameters for the group. (Hit @samp{G |
| 2134 | to another group. | 1877 | c} in summary buffer with point over the |
| 2135 | 1878 | group to change group parameters). For total-expire add | |
| 2136 | 1879 | total-expire to the group-parameters. | |
| 2137 | Answer: | 1880 | |
| 2138 | 1881 | Which method you choose is merely a matter of taste: | |
| 2139 | Say something like this in ~/.gnus: | 1882 | Auto-expire is faster, but it doesn't play together with |
| 2140 | 1883 | Adaptive Scoring, so if you want to use this feature, | |
| 1884 | you should use total-expire. | ||
| 1885 | |||
| 1886 | If you want a message to be excluded from expiration in | ||
| 1887 | a group where total or auto expire is active, set either | ||
| 1888 | tick (hit @samp{u}) or dormant mark (hit | ||
| 1889 | @samp{u}), when you use auto-expire, you | ||
| 1890 | can also set the read mark (hit | ||
| 1891 | @samp{d}). | ||
| 1892 | |||
| 1893 | @node [6.6] | ||
| 1894 | @subsubheading Question 6.6 | ||
| 1895 | |||
| 1896 | I don't want expiration to delete my mails but to move them | ||
| 1897 | to another group. | ||
| 1898 | |||
| 1899 | @subsubheading Answer | ||
| 1900 | |||
| 1901 | Say something like this in ~/.gnus.el: | ||
| 2141 | 1902 | ||
| 2142 | @example | 1903 | @example |
| 2143 | (setq nnmail-expiry-target "nnml:expired") | 1904 | (setq nnmail-expiry-target "nnml:expired") |
| 2144 | @end example | 1905 | @end example |
| 2145 | |||
| 2146 | @noindent | 1906 | @noindent |
| 2147 | (If you want to change the value of nnmail-expiry-target | ||
| 2148 | on a per group basis see the question "How can I disable | ||
| 2149 | threading in some (e.g. mail-) groups, or set other | ||
| 2150 | variables specific for some groups?") | ||
| 2151 | |||
| 2152 | 1907 | ||
| 2153 | @ifnottex | 1908 | (If you want to change the value of nnmail-expiry-target |
| 2154 | @node FAQ 7 - Gnus in a dial-up environment, FAQ 8 - Getting help, FAQ 6 - Old messages, Frequently Asked Questions | 1909 | on a per group basis see the question "How can I disable |
| 2155 | @end ifnottex | 1910 | threading in some (e.g. mail-) groups, or set other |
| 1911 | variables specific for some groups?") | ||
| 1912 | |||
| 1913 | @node FAQ 7 - Gnus in a dial-up environment | ||
| 2156 | @subsection Gnus in a dial-up environment | 1914 | @subsection Gnus in a dial-up environment |
| 2157 | 1915 | ||
| 2158 | @menu | 1916 | @menu |
| 2159 | * [7.1]:: I don't have a permanent connection to the net, how can I | 1917 | * [7.1]:: I don't have a permanent connection to the net, how can I |
| 2160 | minimize the time I've got to be connected? | 1918 | minimize the time I've got to be connected? |
| 2161 | * [7.2]:: So what was this thing about the Agent? | 1919 | * [7.2]:: So what was this thing about the Agent? |
| 2162 | * [7.3]:: I want to store article bodies on disk, too. How to do it? | 1920 | * [7.3]:: I want to store article bodies on disk, too. How to do it? |
| 2163 | * [7.4]:: How to tell Gnus not to try to send mails / postings while | 1921 | * [7.4]:: How to tell Gnus not to try to send mails / postings while |
| 2164 | I'm offline? | 1922 | I'm offline? |
| 2165 | @end menu | 1923 | @end menu |
| 2166 | 1924 | ||
| 2167 | 1925 | @node [7.1] | |
| 2168 | @ifnottex | 1926 | @subsubheading Question 7.1 |
| 2169 | @node [7.1], [7.2], FAQ 7 - Gnus in a dial-up environment, FAQ 7 - Gnus in a dial-up environment | 1927 | |
| 2170 | @end ifnottex | 1928 | I don't have a permanent connection to the net, how can |
| 2171 | @subsubheading Question 7.1: | 1929 | I minimize the time I've got to be connected? |
| 2172 | 1930 | ||
| 2173 | I don't have a permanent connection to the net, how can | 1931 | @subsubheading Answer |
| 2174 | I minimize the time I've got to be connected? | 1932 | |
| 2175 | 1933 | You've got basically two options: Either you use the | |
| 2176 | 1934 | Gnus Agent (see below) for this, or you can install | |
| 2177 | Answer: | 1935 | programs which fetch your news and mail to your local |
| 2178 | 1936 | disk and Gnus reads the stuff from your local | |
| 2179 | You've got basically two options: Either you use the | 1937 | machine. |
| 2180 | Gnus Agent (see below) for this, or you can install | 1938 | |
| 2181 | programs which fetch your news and mail to your local | 1939 | If you want to follow the second approach, you need a |
| 2182 | disk and Gnus reads the stuff from your local | 1940 | program which fetches news and offers them to Gnus, a |
| 2183 | machine. | 1941 | program which does the same for mail and a program which |
| 2184 | 1942 | receives the mail you write from Gnus and sends them | |
| 2185 | 1943 | when you're online. | |
| 2186 | If you want to follow the second approach, you need a | 1944 | |
| 2187 | program which fetches news and offers them to Gnus, a | 1945 | Let's talk about Unix systems first: For the news part, |
| 2188 | program which does the same for mail and a program which | 1946 | the easiest solution is a small nntp server like |
| 2189 | receives the mail you write from Gnus and sends them | 1947 | @uref{http://www.leafnode.org/, Leafnode} or |
| 2190 | when you're online. | 1948 | @uref{http://infa.abo.fi/~patrik/sn/, sn}, |
| 2191 | 1949 | of course you can also install a full featured news | |
| 2192 | 1950 | server like | |
| 2193 | Let's talk about Unix systems first: For the news part, the easiest | 1951 | @uref{http://www.isc.org/products/INN/, inn}. |
| 2194 | solution is a small nntp server like | 1952 | Then you want to fetch your Mail, popular choices |
| 2195 | @uref{http://www.leafnode.org/,Leafnode} or | 1953 | are @uref{http://www.catb.org/~esr/fetchmail/, fetchmail} |
| 2196 | @uref{http://infa.abo.fi/~patrik/sn/,sn}, of course you can also | 1954 | and @uref{http://www.qcc.ca/~charlesc/software/getmail-3.0/, getmail}. |
| 2197 | install a full featured news server like | 1955 | You should tell those to write the mail to your disk and |
| 2198 | @uref{http://www.isc.org/products/INN/,inn}. | 1956 | Gnus to read it from there. Last but not least the mail |
| 2199 | 1957 | sending part: This can be done with every MTA like | |
| 2200 | Then you want to fetch your Mail, popular choices are | 1958 | @uref{http://www.sendmail.org/, sendmail}, |
| 2201 | @itemize @bullet | 1959 | @uref{http://www.qmail.org/, postfix}, |
| 2202 | @item | 1960 | @uref{http://www.exim.org/, exim} or |
| 2203 | @uref{http://www.catb.org/~esr/fetchmail/,fetchmail} and | 1961 | @uref{http://www.qmail.org/, qmail}. |
| 2204 | @item | 1962 | |
| 2205 | @uref{http://www.qcc.ca/~charlesc/software/getmail-3.0/,getmail}. | 1963 | On windows boxes I'd vote for |
| 2206 | @end itemize | 1964 | @uref{http://www.tglsoft.de/, Hamster}, |
| 2207 | You should tell those to write the mail to your disk and Gnus to read | 1965 | it's a small freeware, open-source program which fetches |
| 2208 | it from there. Last but not least the mail sending part: This can be | 1966 | your mail and news from remote servers and offers them |
| 2209 | done with every MTA like @uref{http://www.sendmail.org/,sendmail}, | 1967 | to Gnus (or any other mail and/or news reader) via nntp |
| 2210 | @uref{http://www.qmail.org/,postfix}, @uref{http://www.exim.org/,exim} | 1968 | respectively POP3 or IMAP. It also includes a smtp |
| 2211 | or @uref{http://www.qmail.org/,qmail}. | 1969 | server for receiving mails from Gnus. |
| 2212 | 1970 | ||
| 2213 | 1971 | @node [7.2] | |
| 2214 | On windows boxes I'd vote for | 1972 | @subsubheading Question 7.2 |
| 2215 | @uref{http://www.tglsoft.de/,Hamster}, | 1973 | |
| 2216 | it's a small freeware, open-source program which fetches | 1974 | So what was this thing about the Agent? |
| 2217 | your mail and news from remote servers and offers them | 1975 | |
| 2218 | to Gnus (or any other mail and/or news reader) via nntp | 1976 | @subsubheading Answer |
| 2219 | respectively POP3 or IMAP. It also includes a smtp | 1977 | |
| 2220 | server for receiving mails from Gnus. | 1978 | The Gnus agent is part of Gnus, it allows you to fetch |
| 2221 | 1979 | mail and news and store them on disk for reading them | |
| 2222 | @ifnottex | 1980 | later when you're offline. It kind of mimics offline |
| 2223 | @node [7.2], [7.3], [7.1], FAQ 7 - Gnus in a dial-up environment | 1981 | newsreaders like e.g. Forte Agent. If you want to use |
| 2224 | @end ifnottex | 1982 | the Agent place the following in ~/.gnus.el if you are |
| 2225 | @subsubheading Question 7.2: | 1983 | still using 5.8.8 or 5.9 (it's the default since 5.10): |
| 2226 | |||
| 2227 | So what was this thing about the Agent? | ||
| 2228 | |||
| 2229 | |||
| 2230 | Answer: | ||
| 2231 | |||
| 2232 | The Gnus agent is part of Gnus, it allows you to fetch | ||
| 2233 | mail and news and store them on disk for reading them | ||
| 2234 | later when you're offline. It kind of mimics offline | ||
| 2235 | newsreaders like e.g. Forte Agent. If you want to use | ||
| 2236 | the Agent place the following in ~/.gnus if you are | ||
| 2237 | still using 5.8.8 or 5.9 (it's the default since 5.10): | ||
| 2238 | |||
| 2239 | 1984 | ||
| 2240 | @example | 1985 | @example |
| 2241 | (setq gnus-agent t) | 1986 | (setq gnus-agent t) |
| 2242 | @end example | 1987 | @end example |
| 2243 | 1988 | @noindent | |
| 2244 | 1989 | ||
| 2245 | Now you've got to select the servers whose groups can be | 1990 | Now you've got to select the servers whose groups can be |
| 2246 | stored locally. To do this, open the server buffer | 1991 | stored locally. To do this, open the server buffer |
| 2247 | (that is press @samp{^} while in the | 1992 | (that is press @samp{^} while in the |
| 2248 | group buffer). Now select a server by moving point to | 1993 | group buffer). Now select a server by moving point to |
| 2249 | the line naming that server. Finally, agentize the | 1994 | the line naming that server. Finally, agentize the |
| 2250 | server by typing @samp{J a}. If you | 1995 | server by typing @samp{J a}. If you |
| 2251 | make a mistake, or change your mind, you can undo this | 1996 | make a mistake, or change your mind, you can undo this |
| 2252 | action by typing @samp{J r}. When | 1997 | action by typing @samp{J r}. When |
| 2253 | you're done, type 'q' to return to the group buffer. | 1998 | you're done, type 'q' to return to the group buffer. |
| 2254 | Now the next time you enter a group on a agentized | 1999 | Now the next time you enter a group on a agentized |
| 2255 | server, the headers will be stored on disk and read from | 2000 | server, the headers will be stored on disk and read from |
| 2256 | there the next time you enter the group. | 2001 | there the next time you enter the group. |
| 2257 | 2002 | ||
| 2258 | @ifnottex | 2003 | @node [7.3] |
| 2259 | @node [7.3], [7.4], [7.2], FAQ 7 - Gnus in a dial-up environment | 2004 | @subsubheading Question 7.3 |
| 2260 | @end ifnottex | 2005 | |
| 2261 | @subsubheading Question 7.3: | 2006 | I want to store article bodies on disk, too. How to do it? |
| 2007 | |||
| 2008 | @subsubheading Answer | ||
| 2009 | |||
| 2010 | You can tell the agent to automatically fetch the bodies | ||
| 2011 | of articles which fulfill certain predicates, this is | ||
| 2012 | done in a special buffer which can be reached by | ||
| 2013 | saying @samp{J c} in group | ||
| 2014 | buffer. Please refer to the documentation for | ||
| 2015 | information which predicates are possible and how | ||
| 2016 | exactly to do it. | ||
| 2017 | |||
| 2018 | Further on you can tell the agent manually which | ||
| 2019 | articles to store on disk. There are two ways to do | ||
| 2020 | this: Number one: In the summary buffer, process mark a | ||
| 2021 | set of articles that shall be stored in the agent by | ||
| 2022 | saying @samp{#} with point over the | ||
| 2023 | article and then type @samp{J s}. The | ||
| 2024 | other possibility is to set, again in the summary | ||
| 2025 | buffer, downloadable (%) marks for the articles you | ||
| 2026 | want by typing @samp{@@} with point over | ||
| 2027 | the article and then typing @samp{J u}. | ||
| 2028 | What's the difference? Well, process marks are erased as | ||
| 2029 | soon as you exit the summary buffer while downloadable | ||
| 2030 | marks are permanent. You can actually set downloadable | ||
| 2031 | marks in several groups then use fetch session ('J s' in | ||
| 2032 | the GROUP buffer) to fetch all of those articles. The | ||
| 2033 | only downside is that fetch session also fetches all of | ||
| 2034 | the headers for every selected group on an agentized | ||
| 2035 | server. Depending on the volume of headers, the initial | ||
| 2036 | fetch session could take hours. | ||
| 2037 | |||
| 2038 | @node [7.4] | ||
| 2039 | @subsubheading Question 7.4 | ||
| 2040 | |||
| 2041 | How to tell Gnus not to try to send mails / postings | ||
| 2042 | while I'm offline? | ||
| 2043 | |||
| 2044 | @subsubheading Answer | ||
| 2045 | |||
| 2046 | All you've got to do is to tell Gnus when you are online | ||
| 2047 | (plugged) and when you are offline (unplugged), the rest | ||
| 2048 | works automatically. You can toggle plugged/unplugged | ||
| 2049 | state by saying @samp{J j} in group | ||
| 2050 | buffer. To start Gnus unplugged say @samp{M-x | ||
| 2051 | gnus-unplugged} instead of | ||
| 2052 | @samp{M-x gnus}. Note that for this to | ||
| 2053 | work, the agent must be active. | ||
| 2054 | |||
| 2055 | @node FAQ 8 - Getting help | ||
| 2056 | @subsection Getting help | ||
| 2262 | 2057 | ||
| 2263 | I want to store article bodies on disk, too. How to do it? | 2058 | @menu |
| 2264 | 2059 | * [8.1]:: How to find information and help inside Emacs? | |
| 2060 | * [8.2]:: I can't find anything in the Gnus manual about X (e.g. | ||
| 2061 | attachments, PGP, MIME...), is it not documented? | ||
| 2062 | * [8.3]:: Which websites should I know? | ||
| 2063 | * [8.4]:: Which mailing lists and newsgroups are there? | ||
| 2064 | * [8.5]:: Where to report bugs? | ||
| 2065 | * [8.6]:: I need real-time help, where to find it? | ||
| 2066 | @end menu | ||
| 2265 | 2067 | ||
| 2266 | Answer: | 2068 | @node [8.1] |
| 2069 | @subsubheading Question 8.1 | ||
| 2267 | 2070 | ||
| 2268 | You can tell the agent to automatically fetch the bodies | 2071 | How to find information and help inside Emacs? |
| 2269 | of articles which fulfill certain predicates, this is | ||
| 2270 | done in a special buffer which can be reached by | ||
| 2271 | saying @samp{J c} in group | ||
| 2272 | buffer. Please refer to the documentation for | ||
| 2273 | information which predicates are possible and how | ||
| 2274 | exactly to do it. | ||
| 2275 | |||
| 2276 | 2072 | ||
| 2277 | Further on you can tell the agent manually which | 2073 | @subsubheading Answer |
| 2278 | articles to store on disk. There are two ways to do | ||
| 2279 | this: Number one: In the summary buffer, process mark a | ||
| 2280 | set of articles that shall be stored in the agent by | ||
| 2281 | saying @samp{#} with point over the | ||
| 2282 | article and then type @samp{J s}. The | ||
| 2283 | other possibility is to set, again in the summary | ||
| 2284 | buffer, downloadable (%) marks for the articles you | ||
| 2285 | want by typing @samp{@@} with point over | ||
| 2286 | the article and then typing @samp{J u}. | ||
| 2287 | What's the difference? Well, process marks are erased as | ||
| 2288 | soon as you exit the summary buffer while downloadable | ||
| 2289 | marks are permanent. You can actually set downloadable | ||
| 2290 | marks in several groups then use fetch session ('J s' in | ||
| 2291 | the GROUP buffer) to fetch all of those articles. The | ||
| 2292 | only downside is that fetch session also fetches all of | ||
| 2293 | the headers for every selected group on an agentized | ||
| 2294 | server. Depending on the volume of headers, the initial | ||
| 2295 | fetch session could take hours. | ||
| 2296 | |||
| 2297 | @ifnottex | ||
| 2298 | @node [7.4], , [7.3], FAQ 7 - Gnus in a dial-up environment | ||
| 2299 | @end ifnottex | ||
| 2300 | @subsubheading Question 7.4: | ||
| 2301 | 2074 | ||
| 2302 | How to tell Gnus not to try to send mails / postings | 2075 | The first stop should be the Gnus manual (Say |
| 2303 | while I'm offline? | 2076 | @samp{C-h i d m Gnus RET} to start the |
| 2304 | 2077 | Gnus manual, then walk through the menus or do a | |
| 2078 | full-text search with @samp{s}). Then | ||
| 2079 | there are the general Emacs help commands starting with | ||
| 2080 | C-h, type @samp{C-h ? ?} to get a list | ||
| 2081 | of all available help commands and their meaning. Finally | ||
| 2082 | @samp{M-x apropos-command} lets you | ||
| 2083 | search through all available functions and @samp{M-x | ||
| 2084 | apropos} searches the bound variables. | ||
| 2305 | 2085 | ||
| 2306 | Answer: | 2086 | @node [8.2] |
| 2087 | @subsubheading Question 8.2 | ||
| 2307 | 2088 | ||
| 2308 | All you've got to do is to tell Gnus when you are online | 2089 | I can't find anything in the Gnus manual about X |
| 2309 | (plugged) and when you are offline (unplugged), the rest | 2090 | (e.g. attachments, PGP, MIME...), is it not documented? |
| 2310 | works automatically. You can toggle plugged/unplugged | ||
| 2311 | state by saying @samp{J j} in group | ||
| 2312 | buffer. To start Gnus unplugged say @samp{M-x | ||
| 2313 | gnus-unplugged} instead of | ||
| 2314 | @samp{M-x gnus}. Note that for this to | ||
| 2315 | work, the agent must be active. | ||
| 2316 | |||
| 2317 | 2091 | ||
| 2318 | @ifnottex | 2092 | @subsubheading Answer |
| 2319 | @node FAQ 8 - Getting help, FAQ 9 - Tuning Gnus, FAQ 7 - Gnus in a dial-up environment, Frequently Asked Questions | ||
| 2320 | @end ifnottex | ||
| 2321 | @subsection Getting help | ||
| 2322 | 2093 | ||
| 2323 | @menu | 2094 | There's not only the Gnus manual but also the manuals |
| 2324 | * [8.1]:: How to find information and help inside Emacs? | 2095 | for message, emacs-mime, sieve and pgg. Those packages |
| 2325 | * [8.2]:: I can't find anything in the Gnus manual about X | 2096 | are distributed with Gnus and used by Gnus but aren't |
| 2326 | (e.g. attachments, PGP, MIME...), is it not documented? | 2097 | really part of core Gnus, so they are documented in |
| 2327 | * [8.3]:: Which websites should I know? | 2098 | different info files, you should have a look in those |
| 2328 | * [8.4]:: Which mailing lists and newsgroups are there? | 2099 | manuals, too. |
| 2329 | * [8.5]:: Where to report bugs? | ||
| 2330 | * [8.6]:: I need real-time help, where to find it? | ||
| 2331 | @end menu | ||
| 2332 | 2100 | ||
| 2333 | @ifnottex | 2101 | @node [8.3] |
| 2334 | @node [8.1], [8.2], FAQ 8 - Getting help, FAQ 8 - Getting help | 2102 | @subsubheading Question 8.3 |
| 2335 | @end ifnottex | ||
| 2336 | @subsubheading Question 8.1: | ||
| 2337 | 2103 | ||
| 2338 | How to find information and help inside Emacs? | 2104 | Which websites should I know? |
| 2339 | |||
| 2340 | 2105 | ||
| 2341 | Answer: | 2106 | @subsubheading Answer |
| 2342 | |||
| 2343 | The first stop should be the Gnus manual (Say | ||
| 2344 | @samp{C-h i d m Gnus RET} to start the | ||
| 2345 | Gnus manual, then walk through the menus or do a | ||
| 2346 | full-text search with @samp{s}). Then | ||
| 2347 | there are the general Emacs help commands starting with | ||
| 2348 | C-h, type @samp{C-h ? ?} to get a list | ||
| 2349 | of all available help commands and their meaning. Finally | ||
| 2350 | @samp{M-x apropos-command} lets you | ||
| 2351 | search through all available functions and @samp{M-x | ||
| 2352 | apropos} searches the bound variables. | ||
| 2353 | |||
| 2354 | @ifnottex | ||
| 2355 | @node [8.2], [8.3], [8.1], FAQ 8 - Getting help | ||
| 2356 | @end ifnottex | ||
| 2357 | @subsubheading Question 8.2: | ||
| 2358 | 2107 | ||
| 2359 | I can't find anything in the Gnus manual about X | 2108 | The two most important ones are the |
| 2360 | (e.g. attachments, PGP, MIME...), is it not documented? | 2109 | @uref{http://www.gnus.org, official Gnus website}. |
| 2361 | 2110 | and it's sister site | |
| 2111 | @uref{http://my.gnus.org, my.gnus.org (MGO)}, | ||
| 2112 | hosting an archive of lisp snippets, howtos, a (not | ||
| 2113 | really finished) tutorial and this FAQ. | ||
| 2362 | 2114 | ||
| 2363 | Answer: | 2115 | Tell me about other sites which are interesting. |
| 2364 | 2116 | ||
| 2365 | There's not only the Gnus manual but also the manuals | 2117 | @node [8.4] |
| 2366 | for message, emacs-mime, sieve and pgg. Those packages | 2118 | @subsubheading Question 8.4 |
| 2367 | are distributed with Gnus and used by Gnus but aren't | ||
| 2368 | really part of core Gnus, so they are documented in | ||
| 2369 | different info files, you should have a look in those | ||
| 2370 | manuals, too. | ||
| 2371 | |||
| 2372 | @ifnottex | ||
| 2373 | @node [8.3], [8.4], [8.2], FAQ 8 - Getting help | ||
| 2374 | @end ifnottex | ||
| 2375 | @subsubheading Question 8.3: | ||
| 2376 | 2119 | ||
| 2377 | Which websites should I know? | 2120 | Which mailing lists and newsgroups are there? |
| 2378 | |||
| 2379 | 2121 | ||
| 2380 | Answer: | 2122 | @subsubheading Answer |
| 2381 | 2123 | ||
| 2382 | The two most important ones are the | 2124 | There's the newsgroup gnu.emacs.gnus (pull it from |
| 2383 | @uref{http://www.gnus.org,official Gnus website}. | 2125 | e.g. news.gnus.org) which deals with general questions and the |
| 2384 | and it's sister site | 2126 | ding mailing list (ding@@gnus.org) dealing with development of |
| 2385 | @uref{http://my.gnus.org,my.gnus.org (MGO)}, | 2127 | Gnus. You can read the ding list via NNTP, too under the name |
| 2386 | hosting an archive of lisp snippets, howtos, a (not | 2128 | gmane.emacs.gnus.general from news.gmane.org. |
| 2387 | really finished) tutorial and this FAQ. | ||
| 2388 | |||
| 2389 | 2129 | ||
| 2390 | Tell me about other sites which are interesting. | 2130 | If you want to stay in the big8, |
| 2391 | 2131 | news.software.newssreaders is also read by some Gnus | |
| 2392 | @ifnottex | 2132 | users (but chances for qualified help are much better in |
| 2393 | @node [8.4], [8.5], [8.3], FAQ 8 - Getting help | 2133 | the above groups) and if you speak German, there's |
| 2394 | @end ifnottex | 2134 | de.comm.software.gnus. |
| 2395 | @subsubheading Question 8.4: | ||
| 2396 | 2135 | ||
| 2397 | Which mailing lists and newsgroups are there? | 2136 | @node [8.5] |
| 2398 | 2137 | @subsubheading Question 8.5 | |
| 2399 | 2138 | ||
| 2400 | Answer: | 2139 | Where to report bugs? |
| 2401 | 2140 | ||
| 2402 | There's the newsgroup gnu.emacs.gnus (pull it from | 2141 | @subsubheading Answer |
| 2403 | e.g. news.gnus.org) which deals with general questions | ||
| 2404 | and the ding mailing list (ding@@gnus.org) dealing with | ||
| 2405 | development of Gnus. You can read the ding list via | ||
| 2406 | NNTP, too under the name gnus.ding from news.gnus.org. | ||
| 2407 | |||
| 2408 | 2142 | ||
| 2409 | If you want to stay in the big8, | 2143 | Say @samp{M-x gnus-bug}, this will start |
| 2410 | news.software.newssreaders is also read by some Gnus | 2144 | a message to the |
| 2411 | users (but chances for qualified help are much better in | 2145 | @email{bugs@@gnus.org, gnus bug mailing list} |
| 2412 | the above groups) and if you speak German, there's | 2146 | including information about your environment which make |
| 2413 | de.comm.software.gnus. | 2147 | it easier to help you. |
| 2414 | |||
| 2415 | @ifnottex | ||
| 2416 | @node [8.5], [8.6], [8.4], FAQ 8 - Getting help | ||
| 2417 | @end ifnottex | ||
| 2418 | @subsubheading Question 8.5: | ||
| 2419 | 2148 | ||
| 2420 | Where to report bugs? | 2149 | @node [8.6] |
| 2421 | 2150 | @subsubheading Question 8.6 | |
| 2422 | 2151 | ||
| 2423 | Answer: | 2152 | I need real-time help, where to find it? |
| 2424 | 2153 | ||
| 2425 | Say @samp{M-x gnus-bug}, this will start a message to the | 2154 | @subsubheading Answer |
| 2426 | @email{bugs@@gnus.org,gnus bug mailing list} including information | ||
| 2427 | about your environment which make it easier to help you. | ||
| 2428 | |||
| 2429 | @ifnottex | ||
| 2430 | @node [8.6], , [8.5], FAQ 8 - Getting help | ||
| 2431 | @end ifnottex | ||
| 2432 | @subsubheading Question 8.6: | ||
| 2433 | 2155 | ||
| 2434 | I need real-time help, where to find it? | 2156 | Point your IRC client to irc.my.gnus.org channel |
| 2435 | 2157 | #mygnus. Don't be afraid if people there speak German, | |
| 2436 | 2158 | they are willing and capable of switching to | |
| 2437 | Answer: | 2159 | English when people from outside Germany enter. |
| 2438 | |||
| 2439 | Point your IRC client to irc.my.gnus.org channel | ||
| 2440 | #mygnus. Don't be afraid if people there speak German, | ||
| 2441 | they are willing and capable of switching to | ||
| 2442 | English when people from outside Germany enter. | ||
| 2443 | |||
| 2444 | 2160 | ||
| 2445 | @ifnottex | 2161 | @node FAQ 9 - Tuning Gnus |
| 2446 | @node FAQ 9 - Tuning Gnus, FAQ - Glossary, FAQ 8 - Getting help, Frequently Asked Questions | ||
| 2447 | @end ifnottex | ||
| 2448 | @subsection Tuning Gnus | 2162 | @subsection Tuning Gnus |
| 2449 | 2163 | ||
| 2450 | @menu | 2164 | @menu |
| 2451 | * [9.1]:: Starting Gnus is really slow, how to speed it up? | 2165 | * [9.1]:: Starting Gnus is really slow, how to speed it up? |
| 2452 | * [9.2]:: How to speed up the process of entering a group? | 2166 | * [9.2]:: How to speed up the process of entering a group? |
| 2453 | * [9.3]:: Sending mail becomes slower and slower, what's up? | 2167 | * [9.3]:: Sending mail becomes slower and slower, what's up? |
| 2454 | @end menu | 2168 | @end menu |
| 2455 | 2169 | ||
| 2456 | @ifnottex | 2170 | @node [9.1] |
| 2457 | @node [9.1], [9.2], FAQ 9 - Tuning Gnus, FAQ 9 - Tuning Gnus | 2171 | @subsubheading Question 9.1 |
| 2458 | @end ifnottex | ||
| 2459 | @subsubheading Question 9.1: | ||
| 2460 | 2172 | ||
| 2461 | Starting Gnus is really slow, how to speed it up? | 2173 | Starting Gnus is really slow, how to speed it up? |
| 2462 | |||
| 2463 | 2174 | ||
| 2464 | Answer: | 2175 | @subsubheading Answer |
| 2465 | 2176 | ||
| 2466 | The reason for this could be the way Gnus reads it's | 2177 | The reason for this could be the way Gnus reads it's |
| 2467 | active file, see the node "The Active File" in the Gnus | 2178 | active file, see the node "The Active File" in the Gnus |
| 2468 | manual for things you might try to speed the process up. | 2179 | manual for things you might try to speed the process up. |
| 2469 | An other idea would be to byte compile your ~/.gnus (say | 2180 | An other idea would be to byte compile your ~/.gnus.el (say |
| 2470 | @samp{M-x byte-compile-file RET ~/.gnus | 2181 | @samp{M-x byte-compile-file RET ~/.gnus.el |
| 2471 | RET} to do it). Finally, if you have require | 2182 | RET} to do it). Finally, if you have require |
| 2472 | statements in your .gnus, you could replace them with | 2183 | statements in your .gnus, you could replace them with |
| 2473 | eval-after-load, which loads the stuff not at startup | 2184 | eval-after-load, which loads the stuff not at startup |
| 2474 | time, but when it's needed. Say you've got this in your | 2185 | time, but when it's needed. Say you've got this in your |
| 2475 | ~/.gnus: | 2186 | ~/.gnus.el: |
| 2476 | |||
| 2477 | 2187 | ||
| 2478 | @example | 2188 | @example |
| 2479 | (require 'message) | 2189 | (require 'message) |
| 2480 | (add-to-list 'message-syntax-checks '(sender . disabled)) | 2190 | (add-to-list 'message-syntax-checks '(sender . disabled)) |
| 2481 | @end example | 2191 | @end example |
| 2482 | |||
| 2483 | @noindent | 2192 | @noindent |
| 2484 | then as soon as you start Gnus, message.el is loaded. If | 2193 | |
| 2485 | you replace it with | 2194 | then as soon as you start Gnus, message.el is loaded. If |
| 2486 | 2195 | you replace it with | |
| 2487 | 2196 | ||
| 2488 | @example | 2197 | @example |
| 2489 | (eval-after-load "message" | 2198 | (eval-after-load "message" |
| 2490 | '(add-to-list 'message-syntax-checks '(sender . disabled))) | 2199 | '(add-to-list 'message-syntax-checks '(sender . disabled))) |
| 2491 | @end example | 2200 | @end example |
| 2492 | |||
| 2493 | @noindent | 2201 | @noindent |
| 2494 | it's loaded when it's needed. | ||
| 2495 | |||
| 2496 | @ifnottex | ||
| 2497 | @node [9.2], [9.3], [9.1], FAQ 9 - Tuning Gnus | ||
| 2498 | @end ifnottex | ||
| 2499 | @subsubheading Question 9.2: | ||
| 2500 | 2202 | ||
| 2501 | How to speed up the process of entering a group? | 2203 | it's loaded when it's needed. |
| 2502 | |||
| 2503 | 2204 | ||
| 2504 | Answer: | 2205 | @node [9.2] |
| 2206 | @subsubheading Question 9.2 | ||
| 2505 | 2207 | ||
| 2506 | A speed killer is setting the variable | 2208 | How to speed up the process of entering a group? |
| 2507 | gnus-fetch-old-headers to anything different from nil, | 2209 | |
| 2508 | so don't do this if speed is an issue. To speed up | 2210 | @subsubheading Answer |
| 2509 | building of summary say | 2211 | |
| 2510 | 2212 | A speed killer is setting the variable | |
| 2213 | gnus-fetch-old-headers to anything different from nil, | ||
| 2214 | so don't do this if speed is an issue. To speed up | ||
| 2215 | building of summary say | ||
| 2511 | 2216 | ||
| 2512 | @example | 2217 | @example |
| 2513 | (gnus-compile) | 2218 | (gnus-compile) |
| 2514 | @end example | 2219 | @end example |
| 2515 | |||
| 2516 | @noindent | 2220 | @noindent |
| 2517 | at the bottom of your ~/.gnus, this will make gnus | 2221 | |
| 2518 | byte-compile things like | 2222 | at the bottom of your ~/.gnus.el, this will make gnus |
| 2519 | gnus-summary-line-format. | 2223 | byte-compile things like |
| 2520 | then you could increase the value of gc-cons-threshold | 2224 | gnus-summary-line-format. |
| 2521 | by saying something like | 2225 | then you could increase the value of gc-cons-threshold |
| 2522 | 2226 | by saying something like | |
| 2523 | 2227 | ||
| 2524 | @example | 2228 | @example |
| 2525 | (setq gc-cons-threshold 3500000) | 2229 | (setq gc-cons-threshold 3500000) |
| 2526 | @end example | 2230 | @end example |
| 2527 | |||
| 2528 | @noindent | 2231 | @noindent |
| 2529 | in ~/.emacs. If you don't care about width of CJK | 2232 | |
| 2530 | characters or use Gnus 5.10 or younger together with a | 2233 | in ~/.emacs. If you don't care about width of CJK |
| 2531 | recent GNU Emacs, you should say | 2234 | characters or use Gnus 5.10 or younger together with a |
| 2532 | 2235 | recent GNU Emacs, you should say | |
| 2533 | 2236 | ||
| 2534 | @example | 2237 | @example |
| 2535 | (setq gnus-use-correct-string-widths nil) | 2238 | (setq gnus-use-correct-string-widths nil) |
| 2536 | @end example | 2239 | @end example |
| 2537 | |||
| 2538 | |||
| 2539 | @noindent | 2240 | @noindent |
| 2540 | in ~/.gnus (thanks to Jesper harder for the last | ||
| 2541 | two suggestions). Finally if you are still using 5.8.8 | ||
| 2542 | or 5.9 and experience speed problems with summary | ||
| 2543 | buffer generation, you definitely should update to | ||
| 2544 | 5.10 since there quite some work on improving it has | ||
| 2545 | been done. | ||
| 2546 | 2241 | ||
| 2547 | @ifnottex | 2242 | in ~/.gnus.el (thanks to Jesper harder for the last |
| 2548 | @node [9.3], , [9.2], FAQ 9 - Tuning Gnus | 2243 | two suggestions). Finally if you are still using 5.8.8 |
| 2549 | @end ifnottex | 2244 | or 5.9 and experience speed problems with summary |
| 2550 | @subsubheading Question 9.3: | 2245 | buffer generation, you definitely should update to |
| 2246 | 5.10 since there quite some work on improving it has | ||
| 2247 | been done. | ||
| 2551 | 2248 | ||
| 2552 | Sending mail becomes slower and slower, what's up? | 2249 | @node [9.3] |
| 2553 | 2250 | @subsubheading Question 9.3 | |
| 2554 | 2251 | ||
| 2555 | Answer: | 2252 | Sending mail becomes slower and slower, what's up? |
| 2556 | 2253 | ||
| 2557 | The reason could be that you told Gnus to archive the | 2254 | @subsubheading Answer |
| 2558 | messages you wrote by setting | ||
| 2559 | gnus-message-archive-group. Try to use a nnml group | ||
| 2560 | instead of an archive group, this should bring you back | ||
| 2561 | to normal speed. | ||
| 2562 | |||
| 2563 | 2255 | ||
| 2564 | @ifnottex | 2256 | The reason could be that you told Gnus to archive the |
| 2565 | @node FAQ - Glossary, , FAQ 9 - Tuning Gnus, Frequently Asked Questions | 2257 | messages you wrote by setting |
| 2566 | @end ifnottex | 2258 | gnus-message-archive-group. Try to use a nnml group |
| 2259 | instead of an archive group, this should bring you back | ||
| 2260 | to normal speed. | ||
| 2261 | |||
| 2262 | @node FAQ - Glossary | ||
| 2567 | @subsection Glossary | 2263 | @subsection Glossary |
| 2568 | 2264 | ||
| 2569 | @table @dfn | 2265 | @table @dfn |
| 2570 | 2266 | ||
| 2571 | @item ~/.gnus | 2267 | @item ~/.gnus.el |
| 2572 | When the term ~/.gnus is used it just means your Gnus | 2268 | When the term ~/.gnus.el is used it just means your Gnus |
| 2573 | configuration file. You might as well call it ~/.gnus.el or | 2269 | configuration file. You might as well call it ~/.gnus or |
| 2574 | specify another name. | 2270 | specify another name. |
| 2575 | |||
| 2576 | 2271 | ||
| 2577 | @item Back End | 2272 | @item Back End |
| 2578 | In Gnus terminology a back end is a virtual server, a layer | 2273 | In Gnus terminology a back end is a virtual server, a layer |
| 2579 | between core Gnus and the real NNTP-, POP3-, IMAP- or | 2274 | between core Gnus and the real NNTP-, POP3-, IMAP- or |
| 2580 | whatever-server which offers Gnus a standardized interface | 2275 | whatever-server which offers Gnus a standardized interface |
| 2581 | to functions like "get message", "get Headers" etc. | 2276 | to functions like "get message", "get Headers" etc. |
| 2582 | |||
| 2583 | 2277 | ||
| 2584 | @item Emacs | 2278 | @item Emacs |
| 2585 | When the term Emacs is used in this FAQ, it means either GNU | 2279 | When the term Emacs is used in this FAQ, it means either GNU |
| 2586 | Emacs or XEmacs. | 2280 | Emacs or XEmacs. |
| 2587 | |||
| 2588 | 2281 | ||
| 2589 | @item Message | 2282 | @item Message |
| 2590 | In this FAQ message means a either a mail or a posting to a | 2283 | In this FAQ message means a either a mail or a posting to a |
| 2591 | Usenet Newsgroup or to some other fancy back end, no matter | 2284 | Usenet Newsgroup or to some other fancy back end, no matter |
| 2592 | of which kind it is. | 2285 | of which kind it is. |
| 2593 | |||
| 2594 | 2286 | ||
| 2595 | @item MUA | 2287 | @item MUA |
| 2596 | MUA is an acronym for Mail User Agent, it's the program you | 2288 | MUA is an acronym for Mail User Agent, it's the program you |
| 2597 | use to read and write e-mails. | 2289 | use to read and write e-mails. |
| 2598 | |||
| 2599 | 2290 | ||
| 2600 | @item NUA | 2291 | @item NUA |
| 2601 | NUA is an acronym for News User Agent, it's the program you | 2292 | NUA is an acronym for News User Agent, it's the program you |
| 2602 | use to read and write Usenet news. | 2293 | use to read and write Usenet news. |
| 2603 | |||
| 2604 | @end table | ||
| 2605 | 2294 | ||
| 2606 | @c @bye | 2295 | @end table |
| 2607 | 2296 | ||
| 2608 | @ignore | 2297 | @ignore |
| 2609 | arch-tag: 64dc5692-edb4-4848-a965-7aa0181acbb8 | 2298 | arch-tag: 64dc5692-edb4-4848-a965-7aa0181acbb8 |
| 2610 | @end ignore | 2299 | @end ignore |
diff --git a/man/maintaining.texi b/man/maintaining.texi index 231699a7d02..f8bc0de5992 100644 --- a/man/maintaining.texi +++ b/man/maintaining.texi | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985,86,87,93,94,95,97,99,00,2001 Free Software Foundation, Inc. | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, |
| 3 | @c 2001, 2005 Free Software Foundation, Inc. | ||
| 3 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 4 | @node Maintaining, Abbrevs, Building, Top | 5 | @node Maintaining, Abbrevs, Building, Top |
| 5 | @chapter Maintaining Programs | 6 | @chapter Maintaining Programs |
| @@ -8,8 +9,8 @@ | |||
| 8 | @cindex program editing | 9 | @cindex program editing |
| 9 | 10 | ||
| 10 | This chapter describes Emacs features for maintaining programs. The | 11 | This chapter describes Emacs features for maintaining programs. The |
| 11 | version control features (@pxref{Version Control}) are also | 12 | version control features (@pxref{Version Control}) are also particularly |
| 12 | particularly useful for this purpose. | 13 | useful for this purpose. |
| 13 | 14 | ||
| 14 | @menu | 15 | @menu |
| 15 | * Change Log:: Maintaining a change history for your program. | 16 | * Change Log:: Maintaining a change history for your program. |
| @@ -51,13 +52,13 @@ permitted provided the copyright notice and this notice are preserved. | |||
| 51 | @noindent | 52 | @noindent |
| 52 | Of course, you should substitute the proper years and copyright holder. | 53 | Of course, you should substitute the proper years and copyright holder. |
| 53 | 54 | ||
| 54 | A change log entry starts with a header line that contains the | 55 | A change log entry starts with a header line that contains the current |
| 55 | current date, your name, and your email address (taken from the | 56 | date, your name, and your email address (taken from the variable |
| 56 | variable @code{user-mail-address}). Aside from these header lines, | 57 | @code{add-log-mailing-address}). Aside from these header lines, every |
| 57 | every line in the change log starts with a space or a tab. The bulk | 58 | line in the change log starts with a space or a tab. The bulk of the |
| 58 | of the entry consists of @dfn{items}, each of which starts with a line | 59 | entry consists of @dfn{items}, each of which starts with a line starting |
| 59 | starting with whitespace and a star. Here are two entries, both dated | 60 | with whitespace and a star. Here are two entries, both dated in May |
| 60 | in May 1993, each with two items: | 61 | 1993, each with two items: |
| 61 | 62 | ||
| 62 | @iftex | 63 | @iftex |
| 63 | @medbreak | 64 | @medbreak |
diff --git a/man/message.texi b/man/message.texi index 5e488b0e7cf..8a10ea2445d 100644 --- a/man/message.texi +++ b/man/message.texi | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | @copying | 8 | @copying |
| 9 | This file documents Message, the Emacs message composition mode. | 9 | This file documents Message, the Emacs message composition mode. |
| 10 | 10 | ||
| 11 | Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 | 11 | Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 |
| 12 | Free Software Foundation, Inc. | 12 | Free Software Foundation, Inc. |
| 13 | 13 | ||
| 14 | @quotation | 14 | @quotation |
diff --git a/man/misc.texi b/man/misc.texi index 6181003d694..f1e05cae89c 100644 --- a/man/misc.texi +++ b/man/misc.texi | |||
| @@ -1250,10 +1250,10 @@ kills it if the file name matches the regular expression | |||
| 1250 | @vindex server-name | 1250 | @vindex server-name |
| 1251 | You can run multiple Emacs servers on the same machine by giving | 1251 | You can run multiple Emacs servers on the same machine by giving |
| 1252 | each one a unique ``server name'', using the variable | 1252 | each one a unique ``server name'', using the variable |
| 1253 | @code{server-name}. For example, @kbd{M-x set-variable RET | 1253 | @code{server-name}. For example, @kbd{M-x set-variable @key{RET} |
| 1254 | server-name RET foo RET} sets the server name to @samp{foo}. The | 1254 | server-name @key{RET} foo @key{RET}} sets the server name to |
| 1255 | @code{emacsclient} program can visit a server by name using the | 1255 | @samp{foo}. The @code{emacsclient} program can visit a server by name |
| 1256 | @samp{-s} option. @xref{Invoking emacsclient}. | 1256 | using the @samp{-s} option. @xref{Invoking emacsclient}. |
| 1257 | 1257 | ||
| 1258 | While @code{mail} or another application is waiting for | 1258 | While @code{mail} or another application is waiting for |
| 1259 | @code{emacsclient} to finish, @code{emacsclient} does not read terminal | 1259 | @code{emacsclient} to finish, @code{emacsclient} does not read terminal |
diff --git a/man/mule.texi b/man/mule.texi index 54952fa08fa..c085839cbd8 100644 --- a/man/mule.texi +++ b/man/mule.texi | |||
| @@ -428,6 +428,9 @@ is the command @kbd{C-\} (@code{toggle-input-method}) used twice. | |||
| 428 | because it stops waiting for more characters to combine, and starts | 428 | because it stops waiting for more characters to combine, and starts |
| 429 | searching for what you have already entered. | 429 | searching for what you have already entered. |
| 430 | 430 | ||
| 431 | To find out how to input the character after point using the current | ||
| 432 | input method, type @kbd{C-u C-x =}. @xref{Position Info}. | ||
| 433 | |||
| 431 | @vindex input-method-verbose-flag | 434 | @vindex input-method-verbose-flag |
| 432 | @vindex input-method-highlight-flag | 435 | @vindex input-method-highlight-flag |
| 433 | The variables @code{input-method-highlight-flag} and | 436 | The variables @code{input-method-highlight-flag} and |
| @@ -928,6 +931,9 @@ files. | |||
| 928 | @item C-x @key{RET} X @var{coding} @key{RET} | 931 | @item C-x @key{RET} X @var{coding} @key{RET} |
| 929 | Use coding system @var{coding} for transferring @emph{one} | 932 | Use coding system @var{coding} for transferring @emph{one} |
| 930 | selection---the next one---to or from the window system. | 933 | selection---the next one---to or from the window system. |
| 934 | |||
| 935 | @item M-x recode-region | ||
| 936 | Convert the region from a previous coding system to a new one. | ||
| 931 | @end table | 937 | @end table |
| 932 | 938 | ||
| 933 | @kindex C-x RET f | 939 | @kindex C-x RET f |
| @@ -1056,6 +1062,12 @@ corresponding buffer. | |||
| 1056 | The default for translation of process input and output depends on the | 1062 | The default for translation of process input and output depends on the |
| 1057 | current language environment. | 1063 | current language environment. |
| 1058 | 1064 | ||
| 1065 | @findex recode-region | ||
| 1066 | If a piece of text has already been inserted into a buffer using the | ||
| 1067 | wrong coding system, you can decode it again using @kbd{M-x | ||
| 1068 | recode-region}. This prompts you for the old coding system and the | ||
| 1069 | desired coding system, and acts on the text in the region. | ||
| 1070 | |||
| 1059 | @vindex file-name-coding-system | 1071 | @vindex file-name-coding-system |
| 1060 | @cindex file names with non-@acronym{ASCII} characters | 1072 | @cindex file names with non-@acronym{ASCII} characters |
| 1061 | @findex set-file-name-coding-system | 1073 | @findex set-file-name-coding-system |
| @@ -1084,6 +1096,12 @@ these buffers under the visited file name, saving may use the wrong file | |||
| 1084 | name, or it may get an error. If such a problem happens, use @kbd{C-x | 1096 | name, or it may get an error. If such a problem happens, use @kbd{C-x |
| 1085 | C-w} to specify a new file name for that buffer. | 1097 | C-w} to specify a new file name for that buffer. |
| 1086 | 1098 | ||
| 1099 | @findex recode-file-name | ||
| 1100 | If a mistake occurs when encoding a file name, use the command | ||
| 1101 | command @kbd{M-x recode-file-name} to change the file name's coding | ||
| 1102 | system. This prompts for an existing file name, its old coding | ||
| 1103 | system, and the coding system to which you wish to convert. | ||
| 1104 | |||
| 1087 | @vindex locale-coding-system | 1105 | @vindex locale-coding-system |
| 1088 | @cindex decoding non-@acronym{ASCII} keyboard input on X | 1106 | @cindex decoding non-@acronym{ASCII} keyboard input on X |
| 1089 | The variable @code{locale-coding-system} specifies a coding system | 1107 | The variable @code{locale-coding-system} specifies a coding system |
| @@ -1358,6 +1376,27 @@ however, on a console terminal or in @code{xterm}, you can arrange for | |||
| 1358 | Meta to be converted to @kbd{ESC} and still be able type 8-bit | 1376 | Meta to be converted to @kbd{ESC} and still be able type 8-bit |
| 1359 | characters present directly on the keyboard or using @kbd{Compose} or | 1377 | characters present directly on the keyboard or using @kbd{Compose} or |
| 1360 | @kbd{AltGr} keys. @xref{User Input}. | 1378 | @kbd{AltGr} keys. @xref{User Input}. |
| 1379 | |||
| 1380 | @kindex C-x 8 | ||
| 1381 | @cindex @code{iso-transl} library | ||
| 1382 | @cindex compose character | ||
| 1383 | @cindex dead character | ||
| 1384 | @item | ||
| 1385 | For Latin-1 only, you can use the key @kbd{C-x 8} as a ``compose | ||
| 1386 | character'' prefix for entry of non-@acronym{ASCII} Latin-1 printing | ||
| 1387 | characters. @kbd{C-x 8} is good for insertion (in the minibuffer as | ||
| 1388 | well as other buffers), for searching, and in any other context where | ||
| 1389 | a key sequence is allowed. | ||
| 1390 | |||
| 1391 | @kbd{C-x 8} works by loading the @code{iso-transl} library. Once that | ||
| 1392 | library is loaded, the @key{ALT} modifier key, if the keyboard has | ||
| 1393 | one, serves the same purpose as @kbd{C-x 8}: use @key{ALT} together | ||
| 1394 | with an accent character to modify the following letter. In addition, | ||
| 1395 | if the keyboard has keys for the Latin-1 ``dead accent characters,'' | ||
| 1396 | they too are defined to compose with the following character, once | ||
| 1397 | @code{iso-transl} is loaded. | ||
| 1398 | |||
| 1399 | Use @kbd{C-x 8 C-h} to list all the available @kbd{C-x 8} translations. | ||
| 1361 | @end itemize | 1400 | @end itemize |
| 1362 | 1401 | ||
| 1363 | @node Charsets | 1402 | @node Charsets |
diff --git a/man/org.texi b/man/org.texi index d461e9c1020..d1a388f958a 100644 --- a/man/org.texi +++ b/man/org.texi | |||
| @@ -3,8 +3,8 @@ | |||
| 3 | @setfilename ../info/org | 3 | @setfilename ../info/org |
| 4 | @settitle Org Mode Manual | 4 | @settitle Org Mode Manual |
| 5 | 5 | ||
| 6 | @set VERSION 3.04 | 6 | @set VERSION 3.05 |
| 7 | @set DATE December 2004 | 7 | @set DATE April 2005 |
| 8 | 8 | ||
| 9 | @dircategory Emacs | 9 | @dircategory Emacs |
| 10 | @direntry | 10 | @direntry |
| @@ -34,7 +34,7 @@ | |||
| 34 | @copying | 34 | @copying |
| 35 | This manual is for Org-mode (version @value{VERSION}). | 35 | This manual is for Org-mode (version @value{VERSION}). |
| 36 | 36 | ||
| 37 | Copyright @copyright{} 2004 Free Software Foundation | 37 | Copyright @copyright{} 2004, 2005 Free Software Foundation |
| 38 | 38 | ||
| 39 | @quotation | 39 | @quotation |
| 40 | Permission is granted to copy, distribute and/or modify this document | 40 | Permission is granted to copy, distribute and/or modify this document |
| @@ -184,7 +184,8 @@ top of outline-mode, which makes it possible to keep the content of | |||
| 184 | large files well structured. Visibility cycling and structure editing | 184 | large files well structured. Visibility cycling and structure editing |
| 185 | help to work with the tree. Tables are easily created with a built-in | 185 | help to work with the tree. Tables are easily created with a built-in |
| 186 | table editor. Org-mode supports ToDo items, deadlines, time stamps, | 186 | table editor. Org-mode supports ToDo items, deadlines, time stamps, |
| 187 | and scheduling. It dynamically compiles entries into an agenda. | 187 | and scheduling. It dynamically compiles entries into an agenda that |
| 188 | utilizes and smoothly integrates much of the Emacs calendar and diary. | ||
| 188 | Plain text URL-like links connect to websites, emails, usenet | 189 | Plain text URL-like links connect to websites, emails, usenet |
| 189 | messages, BBDB entries, and any files related to the projects. For | 190 | messages, BBDB entries, and any files related to the projects. For |
| 190 | printing and sharing of notes, an Org-mode file can be exported as a | 191 | printing and sharing of notes, an Org-mode file can be exported as a |
| @@ -203,15 +204,14 @@ different levels and in different ways, for example | |||
| 203 | @r{@bullet{} as a full agenda and planner with deadlines and work scheduling} | 204 | @r{@bullet{} as a full agenda and planner with deadlines and work scheduling} |
| 204 | @end example | 205 | @end example |
| 205 | 206 | ||
| 206 | The Org-mode table editor can be used integrated into any major mode | 207 | The Org-mode table editor can be integrated into any major mode by |
| 207 | by activating the minor Ortbl-mode. | 208 | activating the minor Orgtbl-mode. |
| 208 | 209 | ||
| 209 | There is a website for Org-mode which provides links to the newest | 210 | There is a website for Org-mode which provides links to the newest |
| 210 | version of Org-mode, as well as additional information, screen shots | 211 | version of Org-mode, as well as additional information, screen shots |
| 211 | and example files. This page is located at | 212 | and example files. This page is located at |
| 212 | @uref{http://www.astro.uva.nl/~dominik/Tools/org/}. | 213 | @uref{http://www.astro.uva.nl/~dominik/Tools/org/}. |
| 213 | 214 | ||
| 214 | |||
| 215 | @page | 215 | @page |
| 216 | 216 | ||
| 217 | @node Installation, , Summary, Introduction | 217 | @node Installation, , Summary, Introduction |
| @@ -352,6 +352,18 @@ Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. | |||
| 352 | Show all. | 352 | Show all. |
| 353 | @end table | 353 | @end table |
| 354 | 354 | ||
| 355 | When Emacs firsts visits a Org-mode file, the global state is set to | ||
| 356 | OVERVIEW, i.e. only the top level headlines are visible. This can be | ||
| 357 | configured through the variable @code{org-startup-folded}, or on a | ||
| 358 | per-file basis by adding one of the following lines anywhere in the | ||
| 359 | buffer: | ||
| 360 | |||
| 361 | @example | ||
| 362 | #+STARTUP: fold | ||
| 363 | #+STARTUP: nofold | ||
| 364 | @end example | ||
| 365 | |||
| 366 | |||
| 355 | @node Motion, Structure editing, Visibility cycling, Document Structure | 367 | @node Motion, Structure editing, Visibility cycling, Document Structure |
| 356 | @section Motion | 368 | @section Motion |
| 357 | @cindex motion, between headlines | 369 | @cindex motion, between headlines |
| @@ -473,6 +485,17 @@ the match. | |||
| 473 | Other commands are using this feature as well. For example @kbd{C-c | 485 | Other commands are using this feature as well. For example @kbd{C-c |
| 474 | C-v} creates a sparse TODO tree (@pxref{TODO basics}). | 486 | C-v} creates a sparse TODO tree (@pxref{TODO basics}). |
| 475 | 487 | ||
| 488 | @kindex C-c C-x v | ||
| 489 | @cindex printing sparse trees | ||
| 490 | @cindex visible text, printing | ||
| 491 | To print a sparse tree, you can use the Emacs command | ||
| 492 | @code{ps-print-buffer-with-faces} which does not print invisible parts | ||
| 493 | of the document @footnote{this does not work under XEmacs, because | ||
| 494 | XEmacs uses selective display for outlining, not text properties}. | ||
| 495 | Or you can use the command @kbd{C-c C-x v} to copy the visible part of | ||
| 496 | the document to another file (extension @file{.txt}) which then can be | ||
| 497 | printed in any desired way. | ||
| 498 | |||
| 476 | @node TODO items, Tables, Document Structure, Top | 499 | @node TODO items, Tables, Document Structure, Top |
| 477 | @chapter TODO items | 500 | @chapter TODO items |
| 478 | @cindex TODO items | 501 | @cindex TODO items |
| @@ -611,7 +634,7 @@ persons. | |||
| 611 | @end lisp | 634 | @end lisp |
| 612 | 635 | ||
| 613 | In this case, different keywords do not indicate a sequence, but | 636 | In this case, different keywords do not indicate a sequence, but |
| 614 | rather different levels. This changes the behavior of the command | 637 | rather different types. This changes the behavior of the command |
| 615 | @kbd{C-c C-t} slightly. When used several times in succession, it | 638 | @kbd{C-c C-t} slightly. When used several times in succession, it |
| 616 | will still cycle through all names. But when when you return to the | 639 | will still cycle through all names. But when when you return to the |
| 617 | item after some time and execute @kbd{C-c C-t} again, it will switch | 640 | item after some time and execute @kbd{C-c C-t} again, it will switch |
| @@ -745,11 +768,6 @@ Re-align the table and move down to next row. Creates a new row if | |||
| 745 | necessary. At the beginning or end of a line, @key{RET} still does | 768 | necessary. At the beginning or end of a line, @key{RET} still does |
| 746 | NEWLINE, so it can be used to split a table. | 769 | NEWLINE, so it can be used to split a table. |
| 747 | 770 | ||
| 748 | @kindex S-@key{RET} | ||
| 749 | @item S-@key{RET} | ||
| 750 | Copy from first non-empty | ||
| 751 | field above current field. | ||
| 752 | |||
| 753 | @tsubheading{Column and row editing} | 771 | @tsubheading{Column and row editing} |
| 754 | @kindex M-@key{left} | 772 | @kindex M-@key{left} |
| 755 | @kindex M-@key{right} | 773 | @kindex M-@key{right} |
| @@ -796,7 +814,7 @@ Copy an rectangular region from a table to a special clipboard, and | |||
| 796 | blank all fields in the rectangle. | 814 | blank all fields in the rectangle. |
| 797 | @kindex C-c C-h C-y | 815 | @kindex C-c C-h C-y |
| 798 | @item C-c C-h C-y | 816 | @item C-c C-h C-y |
| 799 | Paste a rectangluar region into a table. | 817 | Paste a rectangular region into a table. |
| 800 | The upper right corner ends up in the current field. All involved fields | 818 | The upper right corner ends up in the current field. All involved fields |
| 801 | will be overwritten. If the rectangle does not fit into the present table, | 819 | will be overwritten. If the rectangle does not fit into the present table, |
| 802 | the table is enlarged as needed. The process ignores horizontal separator | 820 | the table is enlarged as needed. The process ignores horizontal separator |
| @@ -828,6 +846,14 @@ Sum the numbers in the current column, or in the rectangle defined by | |||
| 828 | the active region. The result is displayed in the echo area and can | 846 | the active region. The result is displayed in the echo area and can |
| 829 | be inserted with @kbd{C-y}. | 847 | be inserted with @kbd{C-y}. |
| 830 | 848 | ||
| 849 | @kindex S-@key{RET} | ||
| 850 | @item S-@key{RET} | ||
| 851 | When current field is empty, copy from first non-empty field above. | ||
| 852 | When not empty, copy current field down to next row and move cursor | ||
| 853 | along with it. Depending on the variable | ||
| 854 | @code{org-table-copy-increment}, integer field values will be | ||
| 855 | incremented during copy. | ||
| 856 | |||
| 831 | @cindex formula, in tables | 857 | @cindex formula, in tables |
| 832 | @cindex calculations, in tables | 858 | @cindex calculations, in tables |
| 833 | @kindex C-c = | 859 | @kindex C-c = |
| @@ -1063,7 +1089,7 @@ text has a headline, i.e. a first line that starts with a @samp{*}. | |||
| 1063 | If not, a headline is constructed from the current date and some | 1089 | If not, a headline is constructed from the current date and some |
| 1064 | additional data. If the variable @code{org-adapt-indentation} is | 1090 | additional data. If the variable @code{org-adapt-indentation} is |
| 1065 | non-nil, the entire text is also indented so that it starts in the | 1091 | non-nil, the entire text is also indented so that it starts in the |
| 1066 | same column as the headline (after the asterixes). | 1092 | same column as the headline (after the asterisks). |
| 1067 | 1093 | ||
| 1068 | @node Timestamps, Timeline and Agenda, Hyperlinks, Top | 1094 | @node Timestamps, Timeline and Agenda, Hyperlinks, Top |
| 1069 | @chapter Timestamps | 1095 | @chapter Timestamps |
| @@ -1404,11 +1430,12 @@ Sorting can be customized using the variable | |||
| 1404 | @node Agenda commands, Calendar/Diary integration, Agenda (multiple files), Timeline and Agenda | 1430 | @node Agenda commands, Calendar/Diary integration, Agenda (multiple files), Timeline and Agenda |
| 1405 | @section Commands in the agenda buffer | 1431 | @section Commands in the agenda buffer |
| 1406 | 1432 | ||
| 1407 | Entries in the agenda buffer are linked back to the org file. You are | 1433 | Entries in the agenda buffer are linked back to the org file or diary |
| 1408 | not allowed to edit the agenda buffer itself, but commands are provided | 1434 | file where they originate. You are not allowed to edit the agenda |
| 1409 | to edit the org-files ``remotely'' from the agenda buffer. In this | 1435 | buffer itself, but commands are provided to show and jump to the |
| 1410 | way, all information is stored only once, and you don't risk that your | 1436 | original entry location, and to edit the org-files ``remotely'' from |
| 1411 | agenda and note files diverge. | 1437 | the agenda buffer. In this way, all information is stored only once, |
| 1438 | and you don't risk that your agenda and note files diverge. | ||
| 1412 | 1439 | ||
| 1413 | Some commands can be executed with mouse clicks on agenda lines. For | 1440 | Some commands can be executed with mouse clicks on agenda lines. For |
| 1414 | the other commands, the cursor needs to be in the desired line. Most | 1441 | the other commands, the cursor needs to be in the desired line. Most |
| @@ -1468,7 +1495,7 @@ S-@key{right}. | |||
| 1468 | Display the following @code{org-agenda-ndays} days. For example, if | 1495 | Display the following @code{org-agenda-ndays} days. For example, if |
| 1469 | the display covers a week, switch to the following week. With prefix | 1496 | the display covers a week, switch to the following week. With prefix |
| 1470 | arg, go forward that many times @code{org-agenda-ndays} days. Not | 1497 | arg, go forward that many times @code{org-agenda-ndays} days. Not |
| 1471 | available in timlines. | 1498 | available in timelines. |
| 1472 | 1499 | ||
| 1473 | @kindex @key{left} | 1500 | @kindex @key{left} |
| 1474 | @item @key{left} | 1501 | @item @key{left} |
| @@ -1536,6 +1563,29 @@ Insert a new entry into the diary. Prompts for the type of entry | |||
| 1536 | entry in the diary, just like @kbd{i d} etc. would do in the calendar. | 1563 | entry in the diary, just like @kbd{i d} etc. would do in the calendar. |
| 1537 | The date is taken from the cursor position. | 1564 | The date is taken from the cursor position. |
| 1538 | 1565 | ||
| 1566 | @tsubheading{Calendar commands} | ||
| 1567 | @kindex c | ||
| 1568 | @item c | ||
| 1569 | Open the Emacs calendar and move to the date at the agenda cursor. | ||
| 1570 | |||
| 1571 | @kindex C | ||
| 1572 | @item C | ||
| 1573 | Convert the date at cursor into many other cultural and historic | ||
| 1574 | calendars. | ||
| 1575 | |||
| 1576 | @kindex M | ||
| 1577 | @item M | ||
| 1578 | Show the phases of the moon for three month around current date. | ||
| 1579 | |||
| 1580 | @kindex S | ||
| 1581 | @item S | ||
| 1582 | Show sunrise and sunset times. The location must be set with calendar | ||
| 1583 | variables, see documentation of the Emacs calendar. | ||
| 1584 | |||
| 1585 | @kindex H | ||
| 1586 | @item H | ||
| 1587 | Show holidays for three month around the cursor date. | ||
| 1588 | |||
| 1539 | @tsubheading{Quit and Exit} | 1589 | @tsubheading{Quit and Exit} |
| 1540 | @kindex q | 1590 | @kindex q |
| 1541 | @item q | 1591 | @item q |
| @@ -1564,8 +1614,9 @@ Org-mode. It can be very useful to combine output from Org-mode with | |||
| 1564 | the diary. | 1614 | the diary. |
| 1565 | 1615 | ||
| 1566 | The interaction between Org-mode and diary works both ways: You can | 1616 | The interaction between Org-mode and diary works both ways: You can |
| 1567 | list entries from the diary in the Org-mode agenda, or you can display | 1617 | list entries from the diary in the Org-mode agenda, from which many |
| 1568 | entries from the org agenda in the Emacs diary. | 1618 | calendar and diary commands are directly accessible. Or you can |
| 1619 | display entries from the org agenda in the Emacs diary. | ||
| 1569 | 1620 | ||
| 1570 | @menu | 1621 | @menu |
| 1571 | * Diary to agenda:: Agenda incorporates the diary | 1622 | * Diary to agenda:: Agenda incorporates the diary |
| @@ -1584,7 +1635,15 @@ agenda, you only need to customize the variable | |||
| 1584 | @end lisp | 1635 | @end lisp |
| 1585 | @noindent | 1636 | @noindent |
| 1586 | 1637 | ||
| 1587 | @noindent After that, everything will happen automatically. | 1638 | @noindent After that, everything will happen automatically. All diary |
| 1639 | entries including holidays, anniversaries etc will be included in the | ||
| 1640 | agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and | ||
| 1641 | @key{RET} can be used from the agenda buffer to jump to the diary | ||
| 1642 | file, in order to edit existing diary entries. Also the @kbd{i} | ||
| 1643 | command to insert new entries for the current date works in the agenda | ||
| 1644 | buffer, as well as the commands @kbd{S}, @kbd{M}, and @kbd{C} to | ||
| 1645 | display Sunrise/Sunset times, show lunar phases and to convert to | ||
| 1646 | other calendars, respectively. | ||
| 1588 | 1647 | ||
| 1589 | @node Agenda to diary, , Diary to agenda, Calendar/Diary integration | 1648 | @node Agenda to diary, , Diary to agenda, Calendar/Diary integration |
| 1590 | @subsection Including the agenda into the diary | 1649 | @subsection Including the agenda into the diary |
diff --git a/man/programs.texi b/man/programs.texi index 353cb85aa60..98e60d0385c 100644 --- a/man/programs.texi +++ b/man/programs.texi | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | @c This is part of the Emacs manual. | 1 | @c This is part of the Emacs manual. |
| 2 | @c Copyright (C) 1985,86,87,93,94,95,97,99,00,2001 Free Software Foundation, Inc. | 2 | @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, |
| 3 | @c 2001, 2005 Free Software Foundation, Inc. | ||
| 3 | @c See file emacs.texi for copying conditions. | 4 | @c See file emacs.texi for copying conditions. |
| 4 | @node Programs, Building, Text, Top | 5 | @node Programs, Building, Text, Top |
| 5 | @chapter Editing Programs | 6 | @chapter Editing Programs |
| @@ -80,17 +81,19 @@ and you can select it by typing @kbd{M-x @var{l}-mode @key{RET}}. | |||
| 80 | @cindex Shell-script mode | 81 | @cindex Shell-script mode |
| 81 | @cindex Delphi mode | 82 | @cindex Delphi mode |
| 82 | @cindex PostScript mode | 83 | @cindex PostScript mode |
| 84 | @cindex Conf mode | ||
| 85 | @cindex DNS mode | ||
| 83 | The existing programming language major modes include Lisp, Scheme (a | 86 | The existing programming language major modes include Lisp, Scheme (a |
| 84 | variant of Lisp) and the Scheme-based DSSSL expression language, Ada, | 87 | variant of Lisp) and the Scheme-based DSSSL expression language, Ada, |
| 85 | ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed | 88 | ASM, AWK, C, C++, Delphi (Object Pascal), Fortran (free format and fixed |
| 86 | format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s | 89 | format), Icon, IDL (CORBA), IDLWAVE, Java, Metafont (@TeX{}'s |
| 87 | companion for font creation), Modula2, Objective-C, Octave, Pascal, | 90 | companion for font creation), Modula2, Objective-C, Octave, Pascal, |
| 88 | Perl, Pike, PostScript, Prolog, Python, Simula, Tcl, and VHDL. There is | 91 | Perl, Pike, PostScript, Prolog, Python, Simula, Tcl, and VHDL. An |
| 89 | also a major mode for makefiles, called Makefile mode. An alternative | 92 | alternative mode for Perl is called CPerl mode. Modes are available for |
| 90 | mode for Perl is called CPerl mode. Modes are available for the | 93 | the scripting languages of the common GNU and Unix shells, VMS DCL, and |
| 91 | scripting languages of the common GNU and Unix shells, VMS DCL, and | ||
| 92 | MS-DOS/MS-Windows @samp{BAT} files. There are also major modes for | 94 | MS-DOS/MS-Windows @samp{BAT} files. There are also major modes for |
| 93 | editing various sorts of configuration files. | 95 | editing makefiles, DNS master files, and various sorts of configuration |
| 96 | files. | ||
| 94 | 97 | ||
| 95 | @kindex DEL @r{(programming modes)} | 98 | @kindex DEL @r{(programming modes)} |
| 96 | @findex c-electric-backspace | 99 | @findex c-electric-backspace |
| @@ -1801,11 +1804,11 @@ names. | |||
| 1801 | @cindex Fortran mode | 1804 | @cindex Fortran mode |
| 1802 | @cindex mode, Fortran | 1805 | @cindex mode, Fortran |
| 1803 | 1806 | ||
| 1804 | Fortran mode provides special motion commands for Fortran statements and | 1807 | Fortran mode provides special motion commands for Fortran statements |
| 1805 | subprograms, and indentation commands that understand Fortran conventions | 1808 | and subprograms, and indentation commands that understand Fortran |
| 1806 | of nesting, line numbers and continuation statements. Fortran mode has | 1809 | conventions of nesting, line numbers and continuation statements. |
| 1807 | its own Auto Fill mode that breaks long lines into proper Fortran | 1810 | Fortran mode has support for Auto Fill mode that breaks long lines into |
| 1808 | continuation lines. | 1811 | proper Fortran continuation lines. |
| 1809 | 1812 | ||
| 1810 | Special commands for comments are provided because Fortran comments | 1813 | Special commands for comments are provided because Fortran comments |
| 1811 | are unlike those of other languages. Built-in abbrevs optionally save | 1814 | are unlike those of other languages. Built-in abbrevs optionally save |
| @@ -1817,18 +1820,18 @@ runs the hook @code{fortran-mode-hook} (@pxref{Hooks}). | |||
| 1817 | @cindex Fortran77 and Fortran90 | 1820 | @cindex Fortran77 and Fortran90 |
| 1818 | @findex f90-mode | 1821 | @findex f90-mode |
| 1819 | @findex fortran-mode | 1822 | @findex fortran-mode |
| 1820 | Fortran mode is meant for editing Fortran77 ``fixed format'' source | 1823 | Fortran mode is meant for editing Fortran77 ``fixed format'' (and also |
| 1821 | code. For editing the modern Fortran90 ``free format'' source code, | 1824 | ``tab format'') source code. For editing the modern Fortran90 or |
| 1822 | use F90 mode (@code{f90-mode}). Emacs normally uses Fortran mode for | 1825 | Fortran95 ``free format'' source code, use F90 mode (@code{f90-mode}). |
| 1823 | files with extension @samp{.f}, @samp{.F} or @samp{.for}, and F90 mode | 1826 | Emacs normally uses Fortran mode for files with extension @samp{.f}, |
| 1824 | for the extension @samp{.f90}. GNU Fortran supports both kinds of | 1827 | @samp{.F} or @samp{.for}, and F90 mode for the extension @samp{.f90} and |
| 1825 | format. | 1828 | @samp{.f95}. GNU Fortran supports both kinds of format. |
| 1826 | 1829 | ||
| 1827 | @menu | 1830 | @menu |
| 1828 | * Motion: Fortran Motion. Moving point by statements or subprograms. | 1831 | * Motion: Fortran Motion. Moving point by statements or subprograms. |
| 1829 | * Indent: Fortran Indent. Indentation commands for Fortran. | 1832 | * Indent: Fortran Indent. Indentation commands for Fortran. |
| 1830 | * Comments: Fortran Comments. Inserting and aligning comments. | 1833 | * Comments: Fortran Comments. Inserting and aligning comments. |
| 1831 | * Autofill: Fortran Autofill. Auto fill minor mode for Fortran. | 1834 | * Autofill: Fortran Autofill. Auto fill support for Fortran. |
| 1832 | * Columns: Fortran Columns. Measuring columns for valid Fortran. | 1835 | * Columns: Fortran Columns. Measuring columns for valid Fortran. |
| 1833 | * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. | 1836 | * Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. |
| 1834 | @end menu | 1837 | @end menu |
| @@ -1837,8 +1840,9 @@ format. | |||
| 1837 | @subsection Motion Commands | 1840 | @subsection Motion Commands |
| 1838 | 1841 | ||
| 1839 | In addition to the normal commands for moving by and operating on | 1842 | In addition to the normal commands for moving by and operating on |
| 1840 | ``defuns'' (Fortran subprograms---functions and subroutines), Fortran | 1843 | ``defuns'' (Fortran subprograms---functions and subroutines, as well as |
| 1841 | mode provides special commands to move by statements. | 1844 | modules for F90 mode), Fortran mode provides special commands to move by |
| 1845 | statements and other program units. | ||
| 1842 | 1846 | ||
| 1843 | @table @kbd | 1847 | @table @kbd |
| 1844 | @kindex C-c C-n @r{(Fortran mode)} | 1848 | @kindex C-c C-n @r{(Fortran mode)} |
| @@ -1873,21 +1877,24 @@ Move point backward to the previous code block | |||
| 1873 | (@code{f90-previous-block}). This is like @code{f90-next-block}, but | 1877 | (@code{f90-previous-block}). This is like @code{f90-next-block}, but |
| 1874 | moves backwards. | 1878 | moves backwards. |
| 1875 | 1879 | ||
| 1876 | @kindex C-M-n @r{(F90 mode)} | 1880 | @kindex C-M-n @r{(Fortran mode)} |
| 1881 | @findex fortran-end-of-block | ||
| 1877 | @findex f90-end-of-block | 1882 | @findex f90-end-of-block |
| 1878 | @item C-M-n | 1883 | @item C-M-n |
| 1879 | Move to the end of the current code block (@code{f90-end-of-block}). | 1884 | Move to the end of the current code block |
| 1880 | This is for F90 mode only. With a numeric agument, move forward that | 1885 | (@code{fortran-end-of-block}/@code{f90-end-of-block}). With a numeric |
| 1881 | number of blocks. This command checks for consistency of block types | 1886 | agument, move forward that number of blocks. The mark is set before |
| 1882 | and labels (if present), but it does not check the outermost block | 1887 | moving point. The F90 mode version of this command checks for |
| 1883 | since that may be incomplete. The mark is set before moving point. | 1888 | consistency of block types and labels (if present), but it does not |
| 1884 | 1889 | check the outermost block since that may be incomplete. | |
| 1885 | @kindex C-M-p @r{(F90 mode)} | 1890 | |
| 1891 | @kindex C-M-p @r{(Fortran mode)} | ||
| 1892 | @findex fortran-beginning-of-block | ||
| 1886 | @findex f90-beginning-of-block | 1893 | @findex f90-beginning-of-block |
| 1887 | @item C-M-p | 1894 | @item C-M-p |
| 1888 | Move to the start of the current code block | 1895 | Move to the start of the current code block |
| 1889 | (@code{f90-beginning-of-block}). This is like @code{f90-end-of-block}, | 1896 | (@code{fortran-beginning-of-block}/@code{f90-beginning-of-block}). This |
| 1890 | but moves backwards. | 1897 | is like @code{fortran-end-of-block}, but moves backwards. |
| 1891 | @end table | 1898 | @end table |
| 1892 | 1899 | ||
| 1893 | @node Fortran Indent | 1900 | @node Fortran Indent |
| @@ -1896,7 +1903,7 @@ but moves backwards. | |||
| 1896 | Special commands and features are needed for indenting Fortran code in | 1903 | Special commands and features are needed for indenting Fortran code in |
| 1897 | order to make sure various syntactic entities (line numbers, comment line | 1904 | order to make sure various syntactic entities (line numbers, comment line |
| 1898 | indicators and continuation line flags) appear in the columns that are | 1905 | indicators and continuation line flags) appear in the columns that are |
| 1899 | required for standard Fortran. | 1906 | required for standard, fixed (or tab) format Fortran. |
| 1900 | 1907 | ||
| 1901 | @menu | 1908 | @menu |
| 1902 | * Commands: ForIndent Commands. Commands for indenting and filling Fortran. | 1909 | * Commands: ForIndent Commands. Commands for indenting and filling Fortran. |
| @@ -1911,7 +1918,7 @@ required for standard Fortran. | |||
| 1911 | 1918 | ||
| 1912 | @table @kbd | 1919 | @table @kbd |
| 1913 | @item C-M-j | 1920 | @item C-M-j |
| 1914 | Break the current line and set up a continuation line | 1921 | Break the current line at point and set up a continuation line |
| 1915 | (@code{fortran-split-line}). | 1922 | (@code{fortran-split-line}). |
| 1916 | @item M-^ | 1923 | @item M-^ |
| 1917 | Join this line to the previous line (@code{fortran-join-line}). | 1924 | Join this line to the previous line (@code{fortran-join-line}). |
| @@ -1953,30 +1960,39 @@ point is in. This removes any excess statement continuations. | |||
| 1953 | @cindex Fortran continuation lines | 1960 | @cindex Fortran continuation lines |
| 1954 | 1961 | ||
| 1955 | @vindex fortran-continuation-string | 1962 | @vindex fortran-continuation-string |
| 1956 | Most modern Fortran compilers allow two ways of writing continuation | 1963 | Most Fortran77 compilers allow two ways of writing continuation lines. |
| 1957 | lines. If the first non-space character on a line is in column 5, then | 1964 | If the first non-space character on a line is in column 5, then that |
| 1958 | that line is a continuation of the previous line. We call this | 1965 | line is a continuation of the previous line. We call this @dfn{fixed |
| 1959 | @dfn{fixed format}. (In GNU Emacs we always count columns from 0.) The | 1966 | format}. (In GNU Emacs we always count columns from 0; but note that |
| 1960 | variable @code{fortran-continuation-string} specifies what character to | 1967 | the Fortran standard counts from 1.) The variable |
| 1961 | put on column 5. A line that starts with a tab character followed by | 1968 | @code{fortran-continuation-string} specifies what character to put in |
| 1962 | any digit except @samp{0} is also a continuation line. We call this | 1969 | column 5. A line that starts with a tab character followed by any digit |
| 1963 | style of continuation @dfn{tab format}. | 1970 | except @samp{0} is also a continuation line. We call this style of |
| 1971 | continuation @dfn{tab format}. (Fortran90 introduced ``free format'', | ||
| 1972 | with another style of continuation lines). | ||
| 1964 | 1973 | ||
| 1965 | @vindex indent-tabs-mode @r{(Fortran mode)} | 1974 | @vindex indent-tabs-mode @r{(Fortran mode)} |
| 1966 | Fortran mode can make either style of continuation line, but you | 1975 | @vindex fortran-analyze-depth |
| 1967 | must specify which one you prefer. The value of the variable | 1976 | @vindex fortran-tab-mode-default |
| 1968 | @code{indent-tabs-mode} controls the choice: @code{nil} for fixed | 1977 | Fortran mode can use either style of continuation line. When you |
| 1969 | format, and non-@code{nil} for tab format. You can tell which style | 1978 | enter Fortran mode, it tries to deduce the proper continuation style |
| 1970 | is presently in effect by the presence or absence of the string | 1979 | automatically from the buffer contents. It does this by scanning up to |
| 1971 | @samp{Tab} in the mode line. | 1980 | @code{fortran-analyze-depth} (default 100) lines from the start of the |
| 1972 | 1981 | buffer. The first line that begins with either a tab character or six | |
| 1973 | If the text on a line starts with the conventional Fortran | 1982 | spaces determines the choice. If the scan fails (for example, if the |
| 1974 | continuation marker @samp{$}, or if it begins with any non-whitespace | 1983 | buffer is new and therefore empty), the value of |
| 1975 | character in column 5, Fortran mode treats it as a continuation line. | 1984 | @code{fortran-tab-mode-default} (@code{nil} for fixed format, and |
| 1976 | When you indent a continuation line with @key{TAB}, it converts the line | 1985 | non-@code{nil} for tab format) is used. @samp{/t} in the mode line |
| 1977 | to the current continuation style. When you split a Fortran statement | 1986 | indicates tab format is selected. Fortran mode sets the value of |
| 1978 | with @kbd{C-M-j}, the continuation marker on the newline is created | 1987 | @code{indent-tabs-mode} accordingly (@pxref{Just Spaces}). |
| 1979 | according to the continuation style. | 1988 | |
| 1989 | If the text on a line starts with the Fortran continuation marker | ||
| 1990 | @samp{$}, or if it begins with any non-whitespace character in column | ||
| 1991 | 5, Fortran mode treats it as a continuation line. When you indent a | ||
| 1992 | continuation line with @key{TAB}, it converts the line to the current | ||
| 1993 | continuation style. When you split a Fortran statement with | ||
| 1994 | @kbd{C-M-j}, the continuation marker on the newline is created according | ||
| 1995 | to the continuation style. | ||
| 1980 | 1996 | ||
| 1981 | The setting of continuation style affects several other aspects of | 1997 | The setting of continuation style affects several other aspects of |
| 1982 | editing in Fortran mode. In fixed format mode, the minimum column | 1998 | editing in Fortran mode. In fixed format mode, the minimum column |
| @@ -1986,17 +2002,6 @@ space character for whitespace. In tab format mode, the minimum | |||
| 1986 | column number for the statement body is 8, and the whitespace before | 2002 | column number for the statement body is 8, and the whitespace before |
| 1987 | column 8 must always consist of one tab character. | 2003 | column 8 must always consist of one tab character. |
| 1988 | 2004 | ||
| 1989 | @vindex fortran-tab-mode-default | ||
| 1990 | @vindex fortran-analyze-depth | ||
| 1991 | When you enter Fortran mode for an existing file, it tries to deduce the | ||
| 1992 | proper continuation style automatically from the file contents. The first | ||
| 1993 | line that begins with either a tab character or six spaces determines the | ||
| 1994 | choice. The variable @code{fortran-analyze-depth} specifies how many lines | ||
| 1995 | to consider (at the beginning of the file); if none of those lines | ||
| 1996 | indicates a style, then the variable @code{fortran-tab-mode-default} | ||
| 1997 | specifies the style. If it is @code{nil}, that specifies fixed format, and | ||
| 1998 | non-@code{nil} specifies tab format. | ||
| 1999 | |||
| 2000 | @node ForIndent Num | 2005 | @node ForIndent Num |
| 2001 | @subsubsection Line Numbers | 2006 | @subsubsection Line Numbers |
| 2002 | 2007 | ||
| @@ -2007,9 +2012,11 @@ through 4. (Columns always count from 0 in GNU Emacs.) | |||
| 2007 | @vindex fortran-line-number-indent | 2012 | @vindex fortran-line-number-indent |
| 2008 | Line numbers of four digits or less are normally indented one space. | 2013 | Line numbers of four digits or less are normally indented one space. |
| 2009 | The variable @code{fortran-line-number-indent} controls this; it | 2014 | The variable @code{fortran-line-number-indent} controls this; it |
| 2010 | specifies the maximum indentation a line number can have. Line numbers | 2015 | specifies the maximum indentation a line number can have. The default |
| 2011 | are right-justified to end in column 4 unless that would require more | 2016 | value of the variable is 1. Fortran mode tries to prevent line number |
| 2012 | than this maximum indentation. The default value of the variable is 1. | 2017 | digits passing column 4, reducing the indentation below the specified |
| 2018 | maximum if necessary. If @code{fortran-line-number-indent} has the | ||
| 2019 | value 5, line numbers are right-justified to end in column 4. | ||
| 2013 | 2020 | ||
| 2014 | @vindex fortran-electric-line-number | 2021 | @vindex fortran-electric-line-number |
| 2015 | Simply inserting a line number is enough to indent it according to | 2022 | Simply inserting a line number is enough to indent it according to |
| @@ -2062,54 +2069,59 @@ followed. | |||
| 2062 | Extra indentation within each level of @samp{do} statement (default 3). | 2069 | Extra indentation within each level of @samp{do} statement (default 3). |
| 2063 | 2070 | ||
| 2064 | @item fortran-if-indent | 2071 | @item fortran-if-indent |
| 2065 | Extra indentation within each level of @samp{if} statement (default 3). | 2072 | Extra indentation within each level of @samp{if}, @samp{select case}, or |
| 2066 | This value is also used for extra indentation within each level of the | 2073 | @samp{where} statements (default 3). |
| 2067 | Fortran 90 @samp{where} statement. | ||
| 2068 | 2074 | ||
| 2069 | @item fortran-structure-indent | 2075 | @item fortran-structure-indent |
| 2070 | Extra indentation within each level of @samp{structure}, @samp{union}, or | 2076 | Extra indentation within each level of @samp{structure}, @samp{union}, |
| 2071 | @samp{map} statements (default 3). | 2077 | @samp{map}, or @samp{interface} statements (default 3). |
| 2072 | 2078 | ||
| 2073 | @item fortran-continuation-indent | 2079 | @item fortran-continuation-indent |
| 2074 | Extra indentation for bodies of continuation lines (default 5). | 2080 | Extra indentation for bodies of continuation lines (default 5). |
| 2075 | 2081 | ||
| 2076 | @item fortran-check-all-num-for-matching-do | 2082 | @item fortran-check-all-num-for-matching-do |
| 2077 | If this is @code{nil}, indentation assumes that each @samp{do} statement | 2083 | In Fortran77, a numbered @samp{do} statement is ended by any statement |
| 2078 | ends on a @samp{continue} statement. Therefore, when computing | 2084 | with a matching line number. It is common (but not compulsory) to use a |
| 2079 | indentation for a statement other than @samp{continue}, it can save time | 2085 | @samp{continue} statement for this purpose. If this variable has a |
| 2080 | by not checking for a @samp{do} statement ending there. If this is | 2086 | non-@code{nil} value, indenting any numbered statement must check for a |
| 2081 | non-@code{nil}, indenting any numbered statement must check for a | 2087 | @samp{do} that ends there. If you always end @samp{do} statements with |
| 2082 | @samp{do} that ends there. The default is @code{nil}. | 2088 | a @samp{continue} line (or if you use the more modern @samp{enddo}), |
| 2089 | then you can speed up indentation by setting this variable to | ||
| 2090 | @code{nil}. The default is @code{nil}. | ||
| 2083 | 2091 | ||
| 2084 | @item fortran-blink-matching-if | 2092 | @item fortran-blink-matching-if |
| 2085 | If this is @code{t}, indenting an @samp{endif} statement moves the | 2093 | If this is @code{t}, indenting an @samp{endif} (or @samp{enddo} |
| 2086 | cursor momentarily to the matching @samp{if} statement to show where it | 2094 | statement moves the cursor momentarily to the matching @samp{if} (or |
| 2087 | is. The default is @code{nil}. | 2095 | @samp{do}) statement to show where it is. The default is @code{nil}. |
| 2088 | 2096 | ||
| 2089 | @item fortran-minimum-statement-indent-fixed | 2097 | @item fortran-minimum-statement-indent-fixed |
| 2090 | Minimum indentation for fortran statements when using fixed format | 2098 | Minimum indentation for Fortran statements when using fixed format |
| 2091 | continuation line style. Statement bodies are never indented less than | 2099 | continuation line style. Statement bodies are never indented less than |
| 2092 | this much. The default is 6. | 2100 | this much. The default is 6. |
| 2093 | 2101 | ||
| 2094 | @item fortran-minimum-statement-indent-tab | 2102 | @item fortran-minimum-statement-indent-tab |
| 2095 | Minimum indentation for fortran statements for tab format continuation line | 2103 | Minimum indentation for Fortran statements for tab format continuation line |
| 2096 | style. Statement bodies are never indented less than this much. The | 2104 | style. Statement bodies are never indented less than this much. The |
| 2097 | default is 8. | 2105 | default is 8. |
| 2098 | @end table | 2106 | @end table |
| 2099 | 2107 | ||
| 2108 | The variables controlling the indentation of comments are described in | ||
| 2109 | the following section. | ||
| 2110 | |||
| 2100 | @node Fortran Comments | 2111 | @node Fortran Comments |
| 2101 | @subsection Fortran Comments | 2112 | @subsection Fortran Comments |
| 2102 | 2113 | ||
| 2103 | The usual Emacs comment commands assume that a comment can follow a line | 2114 | The usual Emacs comment commands assume that a comment can follow a |
| 2104 | of code. In Fortran, the standard comment syntax requires an entire line | 2115 | line of code. In Fortran77, the standard comment syntax requires an |
| 2105 | to be just a comment. Therefore, Fortran mode replaces the standard Emacs | 2116 | entire line to be just a comment. Therefore, Fortran mode replaces the |
| 2106 | comment commands and defines some new variables. | 2117 | standard Emacs comment commands and defines some new variables. |
| 2107 | 2118 | ||
| 2119 | @vindex fortran-comment-line-start | ||
| 2108 | Fortran mode can also handle the Fortran90 comment syntax where comments | 2120 | Fortran mode can also handle the Fortran90 comment syntax where comments |
| 2109 | start with @samp{!} and can follow other text. Because only some Fortran77 | 2121 | start with @samp{!} and can follow other text. Because only some Fortran77 |
| 2110 | compilers accept this syntax, Fortran mode will not insert such comments | 2122 | compilers accept this syntax, Fortran mode will not insert such comments |
| 2111 | unless you have said in advance to do so. To do this, set the variable | 2123 | unless you have said in advance to do so. To do this, set the variable |
| 2112 | @code{comment-start} to @samp{"!"} (@pxref{Variables}). | 2124 | @code{fortran-comment-line-start} to @samp{"!"}. |
| 2113 | 2125 | ||
| 2114 | @table @kbd | 2126 | @table @kbd |
| 2115 | @item M-; | 2127 | @item M-; |
| @@ -2123,6 +2135,7 @@ Turn all lines of the region into comments, or (with argument) turn them back | |||
| 2123 | into real code (@code{fortran-comment-region}). | 2135 | into real code (@code{fortran-comment-region}). |
| 2124 | @end table | 2136 | @end table |
| 2125 | 2137 | ||
| 2138 | @findex fortran-indent-comment | ||
| 2126 | @kbd{M-;} in Fortran mode is redefined as the command | 2139 | @kbd{M-;} in Fortran mode is redefined as the command |
| 2127 | @code{fortran-indent-comment}. Like the usual @kbd{M-;} command, this | 2140 | @code{fortran-indent-comment}. Like the usual @kbd{M-;} command, this |
| 2128 | recognizes any kind of existing comment and aligns its text appropriately; | 2141 | recognizes any kind of existing comment and aligns its text appropriately; |
| @@ -2178,14 +2191,6 @@ never be indented at all, no matter what the value of | |||
| 2178 | lines are directives. Matching lines are never indented, and receive | 2191 | lines are directives. Matching lines are never indented, and receive |
| 2179 | distinctive font-locking. | 2192 | distinctive font-locking. |
| 2180 | 2193 | ||
| 2181 | @vindex comment-line-start | ||
| 2182 | @vindex comment-line-start-skip | ||
| 2183 | Fortran mode introduces two variables @code{comment-line-start} and | ||
| 2184 | @code{comment-line-start-skip}, which play for full-line comments the same | ||
| 2185 | roles played by @code{comment-start} and @code{comment-start-skip} for | ||
| 2186 | ordinary text-following comments. Normally these are set properly by | ||
| 2187 | Fortran mode, so you do not need to change them. | ||
| 2188 | |||
| 2189 | The normal Emacs comment command @kbd{C-x ;} has not been redefined. If | 2194 | The normal Emacs comment command @kbd{C-x ;} has not been redefined. If |
| 2190 | you use @samp{!} comments, this command can be used with them. Otherwise | 2195 | you use @samp{!} comments, this command can be used with them. Otherwise |
| 2191 | it is useless in Fortran mode. | 2196 | it is useless in Fortran mode. |
| @@ -2204,34 +2209,28 @@ of the name never conflict because in Lisp and in Emacs it is always | |||
| 2204 | clear from the context which one is meant. | 2209 | clear from the context which one is meant. |
| 2205 | 2210 | ||
| 2206 | @node Fortran Autofill | 2211 | @node Fortran Autofill |
| 2207 | @subsection Fortran Auto Fill Mode | 2212 | @subsection Auto Fill in Fortran Mode |
| 2208 | 2213 | ||
| 2209 | Fortran Auto Fill mode is a minor mode which automatically splits | 2214 | Fortran mode has specialized support for Auto Fill mode, which is a |
| 2210 | Fortran statements as you insert them when they become too wide. | 2215 | minor mode that automatically splits statements as you insert them when |
| 2211 | Splitting a statement involves making continuation lines using | 2216 | they become too wide. Splitting a statement involves making |
| 2212 | @code{fortran-continuation-string} (@pxref{ForIndent Cont}). This | 2217 | continuation lines using @code{fortran-continuation-string} |
| 2213 | splitting happens when you type @key{SPC}, @key{RET}, or @key{TAB}, and | 2218 | (@pxref{ForIndent Cont}). This splitting happens when you type |
| 2214 | also in the Fortran indentation commands. | 2219 | @key{SPC}, @key{RET}, or @key{TAB}, and also in the Fortran indentation |
| 2215 | 2220 | commands. You activate Auto Fill in Fortran mode in the normal way | |
| 2216 | @findex fortran-auto-fill-mode | 2221 | (@pxref{Auto Fill}). |
| 2217 | @kbd{M-x fortran-auto-fill-mode} toggles Fortran Auto Fill mode, | ||
| 2218 | which is a variant of normal Auto Fill mode (@pxref{Filling}) designed | ||
| 2219 | for Fortran programs. Fortran Auto Fill mode is a buffer-local minor | ||
| 2220 | mode (@pxref{Minor Modes}). When Fortran Auto Fill mode is in effect, | ||
| 2221 | the word @samp{Fill} appears in the mode line inside the parentheses. | ||
| 2222 | 2222 | ||
| 2223 | @vindex fortran-break-before-delimiters | 2223 | @vindex fortran-break-before-delimiters |
| 2224 | Fortran Auto Fill mode breaks lines at spaces or delimiters when the | 2224 | Auto Fill breaks lines at spaces or delimiters when the lines get |
| 2225 | lines get longer than the desired width (the value of @code{fill-column}). | 2225 | longer than the desired width (the value of @code{fill-column}). The |
| 2226 | The delimiters that Fortran Auto Fill mode may break at are @samp{,}, | 2226 | delimiters (besides whitespace) that Auto Fill can break at are |
| 2227 | @samp{'}, @samp{+}, @samp{-}, @samp{/}, @samp{*}, @samp{=}, and @samp{)}. | 2227 | @samp{+}, @samp{-}, @samp{/}, @samp{*}, @samp{=}, @samp{<}, @samp{>}, |
| 2228 | The line break comes after the delimiter if the variable | 2228 | and @samp{,}. The line break comes after the delimiter if the |
| 2229 | @code{fortran-break-before-delimiters} is @code{nil}. Otherwise (and by | 2229 | variable @code{fortran-break-before-delimiters} is @code{nil}. |
| 2230 | default), the break comes before the delimiter. | 2230 | Otherwise (and by default), the break comes before the delimiter. |
| 2231 | 2231 | ||
| 2232 | To enable this mode permanently, add a hook function to | 2232 | To enable Auto Fill in all Fortran buffers, add |
| 2233 | @code{fortran-mode-hook} to execute @code{(fortran-auto-fill-mode 1)}. | 2233 | @code{turn-on-auto-fill} to @code{fortran-mode-hook}. @xref{Hooks}. |
| 2234 | @xref{Hooks}. | ||
| 2235 | 2234 | ||
| 2236 | @node Fortran Columns | 2235 | @node Fortran Columns |
| 2237 | @subsection Checking Columns in Fortran | 2236 | @subsection Checking Columns in Fortran |
| @@ -2280,7 +2279,7 @@ display. | |||
| 2280 | @findex fortran-window-create-momentarily | 2279 | @findex fortran-window-create-momentarily |
| 2281 | @kbd{C-c C-w} (@code{fortran-window-create-momentarily}) temporarily | 2280 | @kbd{C-c C-w} (@code{fortran-window-create-momentarily}) temporarily |
| 2282 | splits the current window horizontally, making a window 72 columns | 2281 | splits the current window horizontally, making a window 72 columns |
| 2283 | wide, so you can see which lines that is too long. Type a space to | 2282 | wide, so you can see any lines that are too long. Type a space to |
| 2284 | restore the normal width. | 2283 | restore the normal width. |
| 2285 | 2284 | ||
| 2286 | @kindex C-u C-c C-w @r{(Fortran mode)} | 2285 | @kindex C-u C-c C-w @r{(Fortran mode)} |
diff --git a/man/text.texi b/man/text.texi index aba7496d5fc..958e18db8d5 100644 --- a/man/text.texi +++ b/man/text.texi | |||
| @@ -403,13 +403,13 @@ Text}). | |||
| 403 | * Fill Prefix:: Filling paragraphs that are indented | 403 | * Fill Prefix:: Filling paragraphs that are indented |
| 404 | or in a comment, etc. | 404 | or in a comment, etc. |
| 405 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. | 405 | * Adaptive Fill:: How Emacs can determine the fill prefix automatically. |
| 406 | * Longlines:: Editing text with very long lines. | ||
| 406 | @end menu | 407 | @end menu |
| 407 | 408 | ||
| 408 | @node Auto Fill | 409 | @node Auto Fill |
| 409 | @subsection Auto Fill Mode | 410 | @subsection Auto Fill Mode |
| 410 | @cindex Auto Fill mode | 411 | @cindex Auto Fill mode |
| 411 | @cindex mode, Auto Fill | 412 | @cindex mode, Auto Fill |
| 412 | @cindex word wrap | ||
| 413 | 413 | ||
| 414 | @dfn{Auto Fill} mode is a minor mode in which lines are broken | 414 | @dfn{Auto Fill} mode is a minor mode in which lines are broken |
| 415 | automatically when they become too wide. Breaking happens only when | 415 | automatically when they become too wide. Breaking happens only when |
| @@ -474,16 +474,19 @@ you type or modify them in other ways. It provides an effect similar | |||
| 474 | to typical word processor behavior. This works by running a | 474 | to typical word processor behavior. This works by running a |
| 475 | paragraph-filling command at suitable times. | 475 | paragraph-filling command at suitable times. |
| 476 | 476 | ||
| 477 | When you are typing text, only characters which normally trigger | ||
| 478 | auto filling, like the space character, will trigger refilling. This | ||
| 479 | is to avoid making it too slow. Apart from self-inserting characters, | ||
| 480 | other commands which modify the text cause refilling. | ||
| 481 | |||
| 482 | The current implementation is preliminary and probably not robust. | ||
| 483 | We expect to improve on it. | ||
| 484 | |||
| 485 | To toggle the use of Refill mode in the current buffer, type | 477 | To toggle the use of Refill mode in the current buffer, type |
| 486 | @kbd{M-x refill-mode}. | 478 | @kbd{M-x refill-mode}. When you are typing text, only characters |
| 479 | which normally trigger auto filling, like the space character, will | ||
| 480 | trigger refilling. This is to avoid making it too slow. Apart from | ||
| 481 | self-inserting characters, other commands which modify the text cause | ||
| 482 | refilling. | ||
| 483 | |||
| 484 | The current implementation is preliminary and not robust. You can | ||
| 485 | get better ``line wrapping'' behavior using Longlines mode. | ||
| 486 | @xref{Longlines}. However, Longlines mode has an important | ||
| 487 | side-effect: the newlines that it inserts for you are not saved to | ||
| 488 | disk, so the files that you make with Longlines mode will appear to be | ||
| 489 | completely unfilled if you edit them without Longlines mode. | ||
| 487 | 490 | ||
| 488 | @node Fill Commands | 491 | @node Fill Commands |
| 489 | @subsection Explicit Fill Commands | 492 | @subsection Explicit Fill Commands |
| @@ -745,6 +748,56 @@ line, and it should return the appropriate fill prefix based on that | |||
| 745 | line. If it returns @code{nil}, that means it sees no fill prefix in | 748 | line. If it returns @code{nil}, that means it sees no fill prefix in |
| 746 | that line. | 749 | that line. |
| 747 | 750 | ||
| 751 | @node Longlines | ||
| 752 | @subsection Long Lines Mode | ||
| 753 | @cindex refilling text, word processor style | ||
| 754 | @cindex modes, Long Lines | ||
| 755 | @cindex word wrap | ||
| 756 | @cindex Long Lines minor mode | ||
| 757 | |||
| 758 | Long Lines mode is a minor mode for @dfn{word wrapping}; it lets you | ||
| 759 | edit ``unfilled'' text files, which Emacs would normally display as a | ||
| 760 | bunch of extremely long lines. Many text editors, such as those built | ||
| 761 | into many web browsers, normally do word wrapping. | ||
| 762 | |||
| 763 | @findex longlines-mode | ||
| 764 | To enable Long Lines mode, type @kbd{M-x longlines-mode}. If the | ||
| 765 | text is full of long lines, this will ``wrap'' them | ||
| 766 | immediately---i.e., break up to fit in the window. As you edit the | ||
| 767 | text, Long Lines mode automatically re-wraps lines by inserting or | ||
| 768 | deleting @dfn{soft newlines} as necessary (@pxref{Hard and Soft | ||
| 769 | Newlines}.) These soft newlines won't show up when you save the | ||
| 770 | buffer into a file, or when you copy the text into the kill ring, | ||
| 771 | clipboard, or a register. | ||
| 772 | |||
| 773 | @findex longlines-auto-wrap | ||
| 774 | Word wrapping is @emph{not} the same as ordinary filling | ||
| 775 | (@pxref{Fill Commands}). It does not contract multiple spaces into a | ||
| 776 | single space, recognize fill prefixes (@pxref{Fill Prefix}), or | ||
| 777 | perform adaptive filling (@pxref{Adaptive Fill}). The reason for this | ||
| 778 | is that a wrapped line is still, conceptually, a single line. Each | ||
| 779 | soft newline is equivalent to exactly one space in that long line, and | ||
| 780 | vice versa. However, you can still call filling functions such as | ||
| 781 | @kbd{M-q}, and these will work as expected, inserting soft newlines | ||
| 782 | that won't show up on disk or when the text is copied. You can even | ||
| 783 | rely entirely on the normal fill commands by turning off automatic | ||
| 784 | line wrapping, with @kbd{C-u M-x longlines-auto-wrap}. To turn | ||
| 785 | automatic line wrapping back on, type @kbd{M-x longlines-auto-wrap}. | ||
| 786 | |||
| 787 | @findex longlines-show-hard-newlines | ||
| 788 | Whenever you type @kbd{RET}, you are inserting a hard newline. If | ||
| 789 | you want to see where all the hard newlines are, type @kbd{M-x | ||
| 790 | longlines-show-hard-newlines}. This will mark each hard newline with | ||
| 791 | a special symbol. The same command with a prefix argument turns this | ||
| 792 | display off. | ||
| 793 | |||
| 794 | Long Lines mode does not change normal text files that are already | ||
| 795 | filled, since the existing newlines are considered hard newlines. | ||
| 796 | Before Long Lines can do anything, you need to transform each | ||
| 797 | paragraph into a long line. One way is to set @code{fill-column} to a | ||
| 798 | large number (e.g., @kbd{C-u 9999 C-x f}), re-fill all the paragraphs, | ||
| 799 | and then set @code{fill-column} back to its original value. | ||
| 800 | |||
| 748 | @node Case | 801 | @node Case |
| 749 | @section Case Conversion Commands | 802 | @section Case Conversion Commands |
| 750 | @cindex case conversion | 803 | @cindex case conversion |
diff --git a/man/xresources.texi b/man/xresources.texi index c88ca6ad142..aaf7262d060 100644 --- a/man/xresources.texi +++ b/man/xresources.texi | |||
| @@ -52,7 +52,8 @@ Registry, under the key @samp{HKEY_CURRENT_USER\SOFTWARE\GNU\Emacs} | |||
| 52 | and then under the key @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}. | 52 | and then under the key @samp{HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs}. |
| 53 | The menu and scrollbars are native widgets on MS-Windows, so they are | 53 | The menu and scrollbars are native widgets on MS-Windows, so they are |
| 54 | only customizable via the system-wide settings in the Display Control | 54 | only customizable via the system-wide settings in the Display Control |
| 55 | Panel. | 55 | Panel. You can also set resources using the @samp{-xrm} command line |
| 56 | option (see below.) | ||
| 56 | 57 | ||
| 57 | Programs define named resources with particular meanings. They also | 58 | Programs define named resources with particular meanings. They also |
| 58 | define how to group resources into named classes. For instance, in | 59 | define how to group resources into named classes. For instance, in |
| @@ -668,8 +669,8 @@ or just the class. | |||
| 668 | @end table | 669 | @end table |
| 669 | 670 | ||
| 670 | @noindent | 671 | @noindent |
| 671 | You must soecify the class and the style in double-quotes, and put | 672 | You must specify the class and the style in double-quotes, and put |
| 672 | these commands at the top level in a @file{~/.gtkrc-2.0} file, like | 673 | these commands at the top level in the GTK customization file, like |
| 673 | this: | 674 | this: |
| 674 | 675 | ||
| 675 | @smallexample | 676 | @smallexample |
| @@ -782,7 +783,7 @@ widget "*emacs-menuitem* style "my_menu_style" | |||
| 782 | automatically applies only to Emacs, since other programs don't read | 783 | automatically applies only to Emacs, since other programs don't read |
| 783 | that file. For example, the drop down menu in the file dialog can not | 784 | that file. For example, the drop down menu in the file dialog can not |
| 784 | be customized by any absolute widget name, only by an absolute class | 785 | be customized by any absolute widget name, only by an absolute class |
| 785 | name. This is so because the widgets in the drop down menu do not | 786 | name. This is because the widgets in the drop down menu do not |
| 786 | have names and the menu is not contained in the Emacs GtkWindow. To | 787 | have names and the menu is not contained in the Emacs GtkWindow. To |
| 787 | have all menus in Emacs look the same, use this in | 788 | have all menus in Emacs look the same, use this in |
| 788 | @file{~/.emacs.d/gtkrc}: | 789 | @file{~/.emacs.d/gtkrc}: |