1This is Info file ../info/gnus, produced by Makeinfo-1.55 from the 2input file gnus.texi. 3 4 This file documents GNUS, the GNU Emacs newsreader. 5 6 Copyright (C) 1989, 1990, 1993 Free Software Foundation, Inc. 7 8 Permission is granted to make and distribute verbatim copies of this 9manual provided the copyright notice and this permission notice are 10preserved on all copies. 11 12 Permission is granted to copy and distribute modified versions of 13this manual under the conditions for verbatim copying, provided also 14that the entire resulting derived work is distributed under the terms 15of a permission notice identical to this one. 16 17 Permission is granted to copy and distribute translations of this 18manual into another language, under the above conditions for modified 19versions. 20 21 22File: gnus, Node: Top, Next: Starting Up, Prev: (DIR), Up: (DIR) 23 24The GNUS News Reader 25******************** 26 27 You can read netnews within Emacs using the GNUS package. GNUS uses 28the NNTP protocol to communicate with a news server, which is a 29repository of news articles. This need not be the same computer you 30are logged in on. 31 32 While the author of GNUS recommends pronouncing it as "news", we 33recommend pronouncing it as "gnoose", to avoid confusion. 34 35* Menu: 36 37* Starting Up:: 38* Buffers of GNUS:: 39* Newsgroup Commands:: 40* Summary Commands:: 41* Article Commands:: 42* Startup File:: 43* Kill File:: 44* Troubleshooting:: 45* Customization:: 46* Reporting Bugs:: 47* Index:: 48 49 50File: gnus, Node: Starting Up, Next: Buffers of GNUS, Prev: Top, Up: Top 51 52Starting GNUS 53************* 54 55 This chapter describes how to get started GNUS, how to use a local 56news spool directly, and how to read private directory. 57 58* Menu: 59 60* Getting Started:: How to get started GNUS. 61* Finding the News:: Configuring how GNUS gets access to the news. 62 63 64File: gnus, Node: Getting Started, Next: Finding the News, Up: Starting Up 65 66Getting Started GNUS 67==================== 68 69 To start GNUS, type `M-x gnus'. 70 71`M-x gnus' 72 Run GNUS using the default NNTP server. 73 74`C-u M-x gnus' 75 Run GNUS without using the default NNTP server. 76 77 78File: gnus, Node: Finding the News, Prev: Getting Started, Up: Starting Up 79 80Telling GNUS Where To Find the News 81=================================== 82 83 Somehow or other, GNUS has to know how to find the current netnews. 84Usually this means it has to know the hostname of the NNTP server. 85 86 There are several ways that GNUS can get this information. Most 87often, it comes from the environment variable `NNTPSERVER'. You can 88specify a default when you install Emacs by setting the variable 89`gnus-nntp-server' in the `site-init.el' file. If neither this default 90nor the environment variable is defined, then GNUS reads the server 91name using the minibuffer when you start it. 92 93 You can override the default by specifying a prefix argument for the 94`gnus' command. Then it always reads the hostname to use. 95 96 GNUS can also bypass NNTP and read the news directly from the file 97system. This reduces the overhead, but the features for retrieving by 98their message IDs may fail to work (*note Spool Variables::.). To do 99this, specify `::' as the NNTP server "machine name". 100 101 You can also specify a subdirectory of your home directory to use as 102the current news spool. To do this, specify a colon and the 103subdirectory name as the NNTP server "machine name". For example, 104`:Mail' says to use the directory `~/Mail' as the news spool. This 105makes it possible to read mail stored in MH folders or articles saved 106by GNUS. The files in the directory with numeric names are considered 107news articles, and the other files in the directory are ignored. 108 109 A server specific startup file for each directory must exist before 110you start GNUS. For example, a startup file for the directory `~/Mail' 111should be a file named `.newsrc-:Mail'. *Note Startup File::, for more 112information on the server specific startup file. 113 114 Each news server has its own "active file" which lists the numbers 115of the active articles in each newsgroup. Reading this file from the 116server is among the first things GNUS does when it starts. Commands 117such as `g' that report additional newly-arrived articles work by 118rereading the active file. 119 120 121File: gnus, Node: Buffers of GNUS, Next: Newsgroup Commands, Prev: Starting Up, Up: Top 122 123Buffers Used by GNUS 124******************** 125 126 GNUS uses three Emacs buffers: the Newsgroup buffer, the Summary 127buffer, and the Article buffer. Each has its own particular purpose 128and its own major mode. GNUS often displays all three buffers at the 129same time, with a configuration you can customize by setting the 130variable `gnus-window-configuration'. 131 132 The "Article buffer" is where GNUS displays the text of an article. 133Its major mode is always "Article Mode". Users rarely select this 134buffer because you can read the text while keeping the Summary buffer 135selected. 136 137* Menu: 138 139* Newsgroup Buffer:: A buffer for listing newsgroups. 140* Summary Buffer:: A buffer for listing subjects and other important 141 headers. 142 143 144File: gnus, Node: Newsgroup Buffer, Next: Summary Buffer, Up: Buffers of GNUS 145 146Newsgroup Buffer 147================ 148 149 "Newsgroup buffer" contains a list of newsgroups. Its major mode is 150"Group Mode". This is the first buffer that GNUS displays when it 151starts up. 152 153 Normally the list contains only the newsgroups which you subscribe to 154and which contain unread articles. It is normally empty if there is no 155such newsgroups. When you start GNUS, it displays the message `No news 156is good news.' in the echo area. 157 158 The format of the Newsgroup buffer looks like this: 159 160 SM NUMBER: NEWSGROUP 161 162S 163 A character indicating whether the newsgroup is subscribed to. `U' 164 means you subscribe to the newsgroup; ` ' means that you don't. 165 You can change your subscriptions using commands available in Group 166 mode. 167 168M 169 A character indicating whether there are newly arrived and unread 170 articles in the newsgroup. `*' means there are no newly arrived 171 articles in the newsgroup. ` ' means there are newly arrived 172 articles. 173 174NUMBER 175 The number of unread articles in the newsgroup. 176 177NEWSGROUP 178 The name of the newsgroup. 179 180 181File: gnus, Node: Summary Buffer, Prev: Newsgroup Buffer, Up: Buffers of GNUS 182 183Summary Buffer 184============== 185 186 The "Summary buffer" displays a summary of articles in a single 187newsgroup, including their subjects, their numbers, and who posted 188them. Its major mode is Summary mode. GNUS creates a Summary buffer 189for a newsgroup when you select the group in the Newsgroup buffer. 190 191 A Summary buffer contains a line for each article. Each line looks 192like this: 193 194 S NUMBER:C[LINES:AUTHOR] SUBJECT 195 196 Here is what the fields mean: 197 198S 199 The status code for this article. ` ' means the article is newly 200 arrived and never read. `D' means you read the article already. 201 `-' means you read it but marked it as saved. 202 203NUMBER 204 The number assigned to the article. 205 206C 207 A character indicating which article is currently selected. `+' is 208 placed on the current article. 209 210LINES 211 The number of lines of the article body. 212 213AUTHOR 214 The mail address of the author of the article. 215 216SUBJECT 217 The subject of the article. 218 219 You can customize the format by setting the variable 220`gnus-optional-headers'. 221 222 223File: gnus, Node: Newsgroup Commands, Next: Summary Commands, Prev: Buffers of GNUS, Up: Top 224 225Newsgroup Commands 226****************** 227 228 The Newsgroup buffer normally lists the newsgroups which you 229subscribe to and which contain unread articles. But not always--some 230of the things you can do display additional newsgroups. The commands 231available in this buffer are mostly concerned with subscribing and 232unsubscribing. 233 234* Menu: 235 236* Browsing Newsgroups:: Moving around in the Newsgroup buffer. 237* Selecting a Newsgroup:: Selecting a newsgroup to read articles. 238* Maintaining Subscriptions:: Subscribing and unsubscribing, etc. 239* Exiting GNUS:: How to exit GNUS. 240* Other Newsgroup Commands:: Other miscellaneous commands. 241 242 243File: gnus, Node: Browsing Newsgroups, Next: Selecting a Newsgroup, Up: Newsgroup Commands 244 245Browsing Newsgroups 246=================== 247 248 Most of the newsgroup commands operate on the group described by the 249current line. To use them, you need to move the cursor to the group you 250want to act on. You can use ordinary Emacs motion commands, or these 251special commands: 252 253`n' 254 Move point to the next newsgroup containing unread articles 255 (`gnus-group-next-unread-group'). 256 257`p' 258`DEL' 259 Move point to the previous newsgroup containing unread articles 260 (`gnus-group-prev-unread-group'). 261 262`C-n' 263 Move point to the next newsgroup (`gnus-group-next-group'). 264 265`C-p' 266 Move point to the previous newsgroup (`gnus-group-prev-group'). 267 268`j NEWSGROUP RET' 269 Move point to the NEWSGROUP specified by name 270 (`gnus-group-jump-to-group'). 271 272`<' 273 Move point to the beginning of the buffer (`beginning-of-buffer'). 274 275`>' 276 Move point to the end of the buffer (`end-of-buffer'). 277 278`r' 279 Restrict visible newsgroups to the current region specified by 280 point and the mark (`gnus-group-restrict-groups'). 281 282 The command `j' (`gnus-group-jump-to-group') reads a newsgroup name 283interactively, and moves point to it. If there is no such newsgroup in 284the buffer, a line for the newsgroup is inserted at the beginning of 285the buffer. 286 287 The command `r' (`gnus-group-restrict-groups') restricts visibility 288in the Newsgroup buffer to the region specified by point and mark. It 289is not quite the same as `C-x n'; it includes all of the line that the 290region starts in, and all of the line that the region ends in. Type 291`C-x w' (`widen') to widen visibility to the whole buffer. 292 293 294File: gnus, Node: Selecting a Newsgroup, Next: Maintaining Subscriptions, Prev: Browsing Newsgroups, Up: Newsgroup Commands 295 296Selecting a Newsgroup 297===================== 298 299 To start reading the articles in a newsgroup, move to that newsgroup 300in the Newsgroup buffer and type `SPC' (`gnus-group-read-group') or `=' 301(`gnus-group-select-group'). 302 303`SPC' 304 Select the newsgroup at point, and then select the first unread 305 article automatically (`gnus-group-read-group'). 306 307`=' 308 Select the newsgroup at point (`gnus-group-select-group'). 309 310 Normally, when you select a newsgroup, GNUS prepares to read only the 311unread articles (including saved articles). If the newsgroup has no 312unread articles and you select it anyway, GNUS prepares to read all the 313articles. You can force GNUS to include all the articles by giving a 314prefix argument to the commands `SPC' and `=' (`gnus-group-read-group' 315and `gnus-group-select-group'). 316 317 If the number of articles being selected is larger than the variable 318`gnus-large-newsgroup', GNUS prompts for the number of articles to 319prepare. If your answer N is positive, GNUS prepares the last N 320articles. If N is negative, GNUS prepares the first -N articles. If 321you answer with the empty string, GNUS prepares all articles. 322 323 324File: gnus, Node: Maintaining Subscriptions, Next: Exiting GNUS, Prev: Selecting a Newsgroup, Up: Newsgroup Commands 325 326Maintaining Subscriptions 327========================= 328 329 This section explains how to subscribe and unsubscribe, as well as 330other related activities. Most of the commands operate on the newsgroup 331listed on the current line. 332 333`c' 334 Mark all newly arrived articles in the newsgroup as read, but don't 335 alter articles explicitly marked as saved (`gnus-group-catchup'). 336 337`C' 338 Mark all articles in the newsgroup as read 339 (`gnus-group-catchup-all'). 340 341`l' 342 Show only the newsgroups which you now subscribe to and which now 343 contain unread and saved articles (`gnus-group-list-groups'). 344 345`L' 346 Show all newsgroups available on your news server 347 (`gnus-group-list-all-groups'). 348 349`u' 350 Unsubscribe from (or subscribe to) the newsgroup 351 (`gnus-group-unsubscribe-current-group'). 352 353`U NEWSGROUP RET' 354 Unsubscribe from (or subscribe to) the newsgroup named NEWSGROUP 355 (`gnus-group-unsubscribe-group'). 356 357`C-k' 358 Kill the newsgroup line that point is in (`gnus-group-kill-group'). 359 360`C-w' 361 Kill newsgroups in current region (excluding current line) 362 (`gnus-group-kill-region'). 363 364`C-y' 365 Yank the last newsgroup killed (`gnus-group-yank-group'). It is 366 inserted just before the current line. Successive uses of `C-y' 367 yank earlier kills, in last-in first-out order. 368 369`C-x C-t' 370 Exchange current newsgroup and previous newsgroup. 371 (`gnus-group-transpose-groups'). 372 373`M-x gnus-list-killed-groups' 374`C-c C-l' 375 Display a list of the newsgroups you have killed. This is so you 376 can copy them back into the startup file. 377 378`b' 379 Delete bogus newsgroups (`gnus-group-check-bogus-groups'). 380 381`g' 382 Get newly arrived articles for all groups 383 (`gnus-group-get-new-news'). 384 385 The commands `c' and `C' (`gnus-group-catchup' and 386`gnus-group-catchup-all') mark all or most of the articles in a 387newsgroup as read. They are useful if you have been away from news 388reading for a while, and you don't want to slog through the backlog of 389old postings. These commands do not take account of the cross-reference 390information in the `Xref:' field, while the `c' command in Summary Mode 391does. 392 393 Only subscribed newsgroups containing unread and saved articles are 394usually displayed in the Newsgroup buffer. Type `L' 395(`gnus-group-list-all-groups') to show all newsgroups which are 396currently active. Use `l' (`gnus-group-list-groups') to go back to the 397usual contents--only groups which have news for you to read. 398 399 The command `U' (`gnus-group-unsubscribe-group') reads a newsgroup 400name interactively, and toggles its subscription flag. This is the 401usual way to subscribe to new groups. (You can also type `L' and then 402use `u' on the groups you want to read.) You can also arrange to 403subscribe automatically to some or all newly created newsgroups using 404the options line in your startup file, `~/.newsrc'. *Note Startup 405File::, for more information. 406 407 The command `C-k' (`gnus-group-kill-group') kills a newsgroup from 408both the Newsgroup buffer and the raw startup file. If you change your 409mind, type `C-y' (`gnus-group-yank-group'); this yanks the last 410newsgroup killed with the `C-k' command. 411 412 The command `C-c C-l' (`gnus-list-killed-groups') pops up a buffer 413listing the newsgroups you have killed. You can yank any of these 414newsgroups by moving point to the entry for the newsgroup you want, and 415then typing `y' or `C-y' (`gnus-browse-killed-yank'). So a convenient 416way to change the order of newsgroups is to kill some of them, then go 417to the list of killed groups and yank them in the order you want. 418 419 You are not limited to yanking only the groups that you killed in the 420current GNUS session. All the groups you have ever killed are 421remembered in the quick startup file, and you can restore them any time 422unless you lose the file. 423 424 A "bogus newsgroup" is one not in the list of active newsgroups in 425the active file. Type `b' (`gnus-group-check-bogus-groups') to delete 426all the bogus newsgroups that you subscribe to. Bogus newsgroups that 427you have unsubscribed or killed are deleted also. 428 429 The `g' command rereads the active file to get updated lists of 430articles available to be read. 431 432 433File: gnus, Node: Exiting GNUS, Next: Other Newsgroup Commands, Prev: Maintaining Subscriptions, Up: Newsgroup Commands 434 435Exiting GNUS 436============ 437 438`z' 439 Suspend the current GNUS session (`gnus-group-suspend'). 440 441`q' 442 Update the startup file `.newsrc', and then exit GNUS 443 (`gnus-group-exit'). 444 445`Q' 446 Exit GNUS without updating the startup file `.newsrc' 447 (`gnus-group-quit'). 448 449 Suspending GNUS with `z' (`gnus-group-suspend') kills all GNUS 450buffers except for the Newsgroup buffer. To resume again, switch to 451the Newsgroup buffer and type `g' (`gnus-group-get-new-news') to get 452newly arrived articles. It is a good idea to update the startup file 453(*note Startup File::.) before suspending GNUS. 454 455 If you want to forget what you read this GNUS session, exit GNUS by 456the command `Q' (`gnus-group-quit'). Otherwise, exit by the command 457`q' (`gnus-group-exit') to update the startup file. 458 459 The hook `gnus-exit-gnus-hook' is called when exiting GNUS, and the 460hook `gnus-suspend-gnus-hook' is called when suspending GNUS. 461 462 463File: gnus, Node: Other Newsgroup Commands, Prev: Exiting GNUS, Up: Newsgroup Commands 464 465Miscellaneous Commands 466====================== 467 468 Other miscellaneous Group mode commands are described here. 469 470`a' 471 Compose a new article (`gnus-group-post-news'). *Note Posting 472 Articles::, for more information. 473 474`M-k' 475 Edit a local kill file (`gnus-group-edit-local-kill'). *Note Kill 476 File::, for more information. 477 478`M-K' 479 Edit your global kill file (`gnus-group-edit-global-kill'). *Note 480 Kill File::, for more information. 481 482 483File: gnus, Node: Summary Commands, Next: Article Commands, Prev: Newsgroup Commands, Up: Top 484 485Summary Commands 486**************** 487 488 The Summary buffer shows you a summary of the contents of a single 489newsgroup, with one line for each article. You can move around in the 490Summary buffer, giving commands to view articles, save them, reply to 491them, and so on. When you view an article, its text appears in a 492separate buffer, but the Summary buffer remains current. In fact, 493there is hardly ever a reason to select the Article buffer; you can do 494almost all news reading tasks while staying in the Summary buffer. 495 496* Menu: 497 498* Reading Articles:: How to read articles. 499* Searching Articles:: Searching for articles. 500* Referencing Articles:: Referencing parent articles. 501* Saving Articles:: Saving articles in your favorite format. 502* Sorting Headers:: Sorting the Summary buffer. 503* Posting Articles:: How to post a new article or followup article. 504* Forward and Reply:: How to mail a reply to a message, 505 or forward the message by mail. 506* Exiting Newsgroup:: How to exit the current newsgroup. 507 508 509File: gnus, Node: Reading Articles, Next: Searching Articles, Up: Summary Commands 510 511Reading Articles 512================ 513 514 The most basic command for reading articles is SPC 515(`gnus-summary-next-page'). When you are viewing the middle of a 516article, SPC scrolls the article forward. When you get to the end of 517an article, SPC advances to the next article. You can read all the 518unread articles straight through using just SPC. 519 520 Naturally, though, there are plenty of more advanced features 521available. 522 523* Menu: 524 525* Summary Motion:: Special cursor motion commands for Summary. 526* Reading an Article:: Commands for viewing an article differently. 527* Scrolling:: Browsing through a message. 528* Moving Among Articles:: Selecting articles. 529* Marking Articles:: Marking articles as (un)read. 530 531* Thread-based Reading:: Reading articles based on conversation threads. 532* Digest Articles:: How to read digest articles. 533 534 535File: gnus, Node: Summary Motion, Next: Reading an Article, Up: Reading Articles 536 537Cursor Motion in the Summary Buffer 538----------------------------------- 539 540 For moving around in the Summary buffer, you can use these special 541commands as well as the usual cursor motion commands. 542 543`C-n' 544 Move point to the next header (`gnus-summary-next-subject'). 545 546`C-p' 547 Move point to the previous header (`gnus-summary-prev-subject'). 548 549`M-n' 550 Move point to the next header, skipping marked articles 551 (`gnus-summary-next-unread-subject'). 552 553`M-p' 554 Move point to the previous header, skipping marked articles 555 (`gnus-summary-prev-unread-subject'). 556 557`j NUMBER RET' 558 Move point to the line describing an article specified by number 559 with a prefix argument (`gnus-summary-goto-subject'). 560 561 562File: gnus, Node: Reading an Article, Next: Scrolling, Prev: Summary Motion, Up: Reading Articles 563 564Commands to Read Articles 565------------------------- 566 567`SPC' 568 SPC in the Summary buffer scrolls the Article buffer to the next 569 screenful or to the next article (`gnus-summary-next-page') 570 571`g' 572 Select the article on the current line 573 (`gnus-summary-show-article'). This command always rereads the 574 article text from the server even if the same article is already 575 selected. 576 577`=' 578 Expand the Summary buffer's window to occupy all the screen space 579 that GNUS is now using (`gnus-summary-expand-window'). 580 581`C-t' 582 Toggle truncation of lines in the Summary buffer 583 (`gnus-summary-toggle-truncation'). 584 585`w' 586 Stop page breaking of article buffer 587 (`gnus-summary-stop-page-breaking'). 588 589`t' 590 Show all headers of the current article if pruned header currently 591 shown, or vice versa (`gnus-summary-toggle-header'). 592 593`M-t' 594 Toggle MIME processing (`gnus-summary-toggle-mime'). 595 596`C-c C-r' 597 Caesar rotate letters by 13 places and Japanese characters by 47 598 places (`gnus-summary-caesar-message'). 599 600 The command `=' (`gnus-summary-expand-window') expands the Summary 601window by deleting the Article window. Use it when you want to 602concentrate on the Summary buffer. This command is different from `C-x 6031' when more than two windows exist. 604 605 The command `C-c C-r' (`gnus-summary-caesar-message') rotates all 606letters in the body of the current article by 13/47 places. (This 607encoding is often called "rot 13".) To undo this operation, run it a 608second time. 609 610 If an article contains multiple pages, GNUS normally displays just 611one page at a time. To advance to the next page of an article, simply 612type SPC. It advances to the next page whenever the end of a page is 613on the screen. 614 615 The command `w' (`gnus-summary-stop-page-breaking') temporarily 616suspends page breaking; it makes the entire current article visible. 617You can turn off page breaking all the time by setting the variable 618`gnus-break-pages' to `nil'. 619 620 Page boundaries are defined by the variable `gnus-page-delimiter', 621whose value is a regular expression. The default is to match a 622formfeed character at the beginning of a line. 623 624 GNUS normally hides many uninteresting header fields when it displays 625an article. (The variable `gnus-ignored-headers' controls which fields 626are ignored.) If you want to see the whole header, type `t' 627(`gnus-summary-toggle-header'). Use `t' a second time to hide the 628uninteresting header fields again. 629 630 631File: gnus, Node: Scrolling, Next: Moving Among Articles, Prev: Reading an Article, Up: Reading Articles 632 633Scrolling Within an Article 634--------------------------- 635 636 This section describes the commands you can type in the Summary 637buffer to scroll the Article buffer. (If you want to scroll the 638Summary buffer, you can use the usual Emacs scrolling commands.) 639 640`SPC' 641 Scroll to the next page of the current article 642 (`gnus-summary-next-page'). Select it first if no article is 643 selected yet. Select the next unread article automatically at the 644 end of the message. 645 646`DEL' 647 Scroll the current article backward (`gnus-summary-prev-page'). 648 649`RET' 650 Scroll the current article one (or N) lines forward 651 (`gnus-summary-scroll-up'). A negative argument scrolls backward. 652 653`<' 654 Move point to the beginning of the current article 655 (`gnus-summary-beginning-of-article'). 656 657`>' 658 Move point to the end of the current article 659 (`gnus-summary-end-of-article'). 660 661 662File: gnus, Node: Moving Among Articles, Next: Marking Articles, Prev: Scrolling, Up: Reading Articles 663 664Moving Among Articles 665--------------------- 666 667 These commands move point in the Summary buffer to a different line 668and display that line's article. 669 670`n' 671 Read the next article, skipping marked articles 672 (`gnus-summary-next-unread-article'). 673 674`p' 675 Read the previous article, skipping marked articles 676 (`gnus-summary-prev-unread-article'). 677 678`N' 679 Read the next article (`gnus-summary-next-article'). 680 681`P' 682 Read the previous article (`gnus-summary-prev-article'). 683 684`C-M-n' 685 Read the next article with the same subject as the current article 686 (`gnus-summary-next-same-subject'). 687 688`C-M-p' 689 Read the previous article with the same subject as the current 690 article (`gnus-summary-prev-same-subject'). 691 692`.' 693 Read the first unread article 694 (`gnus-summary-first-unread-article'). 695 696`l' 697 Read the article selected last (`gnus-summary-goto-last-article'). 698 699 If the variable `gnus-auto-select-same' is non-`nil', the commands 700`n' and `p' (`gnus-summary-next-unread-article' and 701`gnus-summary-prev-unread-article') skip articles until they come to 702another article with the same subject. If you are used to reading news 703with `rn -S', set the variable to non-`nil' to get familiar behavior. 704 705 If the variable `gnus-auto-extend-newsgroup' is non-`nil', the 706commands `N' and `P' (`gnus-summary-next-article' and 707`gnus-summary-prev-article') extend visible articles to forward and 708backward if possible. The Summary buffer normally displays just a 709subset of the extant articles; extending the buffer means that if you 710try to move forward from the last article shown, it looks for later 711articles that are not shown, and puts them into the buffer so you can 712move to them. 713 714 The variable `gnus-auto-select-next' defines the behavior of GNUS 715when there is no unread article in the current newsgroup and a command 716selecting the next unread article is executed. If the variable is 717non-`nil', the next newsgroup containing unread articles is selected 718automatically. 719 720 721File: gnus, Node: Marking Articles, Next: Thread-based Reading, Prev: Moving Among Articles, Up: Reading Articles 722 723Marking Articles 724---------------- 725 726 GNUS uses single-character marks to indicate the status of an 727article. 728 729` ' (a space) 730 A newly arrived article. 731 732`-' 733 An article marked as saved. 734 735anything else 736 An article marked as read. 737 738Both newly arrived articles and saved articles are considered "unread". 739 740 The status is displayed at the beginning of each line of the Summary 741buffer. Here are some commands for changing these marks: 742 743`d' 744 Mark this line's article as read, then move point to the following 745 line (`gnus-summary-mark-as-read-forward'). This and the 746 following similar commands do not select an article; they only 747 move point in the Summary buffer. 748 749`u' 750 Mark this line's article as saved, then move point to the 751 following line (`gnus-summary-mark-as-unread-forward'). 752 753`M-u' 754 Clear marks on this line's article, then move point to the next 755 line (`gnus-summary-clear-mark-forward'). This sets the status to 756 "newly arrived". 757 758`D' 759`U' 760`M-U' 761 Analogous to `d', `u' and `M-u', except that they move backwards 762 instead of forwards in the Summary buffer. 763 764`k' 765 Mark as read all articles with the same subject as the current 766 article, then select the next unread article 767 (`gnus-summary-kill-same-subject-and-select'). Use this when you 768 decide a certain discussion is not interesting. 769 770`C-k' 771 Mark as read all articles with the same subject as the current 772 article (`gnus-summary-kill-same-subject'). 773 774`c' 775 Mark all newly arrived articles as read; then exit the current 776 newsgroup (`gnus-summary-catchup-and-exit'). This does not change 777 the status of articles that are saved. 778 779`M-x gnus-summary-catchup-all-and-exit' 780 Mark all articles (including saved articles) as read, and then 781 exit the current newsgroup. 782 783`M-x gnus-summary-catchup' 784 Mark all newly arrived articles as read, but don't alter saved 785 articles. 786 787`M-x gnus-summary-catchup-all' 788 Mark all articles as read. 789 790`x' 791 Delete summary lines for articles marked as read 792 (`gnus-summary-delete-marked-as-read'). 793 794`X MARKS RET' 795 Delete headers marked with any of MARKS 796 (`gnus-summary-delete-marked-with'). 797 798 You can make it easier to see the remaining unread articles in the 799Summary buffer by deleting the lines describing the already read 800articles. To do this, use the command `x' 801(`gnus-summary-delete-marked-as-read'). The command `X' 802(`gnus-summary-delete-marked-with') deletes headers which have certain 803specified marks. Thus, `X D - RET' deletes all articles marked with 804`D' or `-'--which is to say, all read and saved articles. (There are 805no spaces in that command; we inserted spaces for clarity when showing 806it here.) 807 808 809File: gnus, Node: Thread-based Reading, Next: Digest Articles, Prev: Marking Articles, Up: Reading Articles 810 811Reading Based on Conversation Threads 812------------------------------------- 813 814 A "thread" is defined as a set of articles related by 815cross-reference. These references make use of header fields 816`References:' and `In-Reply-To:', which cite the message ID of another 817article. 818 819 Conversations in a newsgroup usually contain several threads under a 820single subject. This makes it difficult to know which article follows 821which without reading references directly. You can use the thread-based 822commands to do this automatically. You can follow threads of 823conversation, mark entire threads as read, and go up and down thread 824trees. 825 826 The command `M-C-t' (`gnus-summary-toggle-threads') toggles showing 827conversation threads in Summary mode. If it is turned on, Summary 828buffer is displayed in a tree structured form which shows the thread 829structure. 830 831`C-M-t' 832 Toggle thread-based reading (`gnus-summary-toggle-threads'). 833 834`C-M-s' 835 Show the thread subtree of the current line 836 (`gnus-summary-show-thread'). 837 838`M-x gnus-summary-show-all-threads' 839 Show all thread subtrees. 840 841`C-M-h' 842 Hide the thread subtrees of the current line 843 (`gnus-summary-hide-thread'). 844 845`M-x gnus-summary-hide-all-threads' 846 Hide all thread subtrees. 847 848`C-M-f' 849 Go to the next thread at the same level 850 (`gnus-summary-next-thread'). 851 852`C-M-b' 853 Go to the previous thread at the same level 854 (`gnus-summary-prev-thread'). 855 856`C-M-d' 857 Go down to next thread subordinate to the current line. 858 (`gnus-summary-down-thread'). 859 860`C-M-u' 861 Go up to the parent thread of the current line 862 (`gnus-summary-up-thread'). 863 864`C-M-k' 865 Mark all articles under current thread as read 866 (`gnus-summary-kill-thread'). 867 868 Thread subtrees can be hidden by using the command `C-M-h' 869(`gnus-summary-hide-thread'), and the hidden subtrees can be shown by 870using the command `C-M-s' (`gnus-summary-show-thread'). 871 872 If the variable `gnus-thread-hide-killed' is non-`nil', thread 873subtrees killed by the command `C-M-k' (`gnus-summary-kill-thread') are 874hidden automatically. 875 876 If you want to hide thread subtrees initially, set the variable 877`gnus-thread-hide-subtree' to non-`nil'. 878 879 If you want to enable thread-based reading automatically, set the 880variable `gnus-show-threads' to non-`nil'. 881 882 883File: gnus, Node: Digest Articles, Prev: Thread-based Reading, Up: Reading Articles 884 885Reading Digest Articles 886----------------------- 887 888 "Digest article" is a message containing many messages in "digest" 889format. Since a digest article contains many messages in one article, 890it is a little bit difficult to read it on a per message basis. The 891following commands make it easier to read each message in a digest. 892 893`C-c C-n' 894 Scroll to the next digest message of the current article 895 (`gnus-summary-next-digest'). 896 897`C-c C-p' 898 Scroll to the previous digest message of the current article 899 (`gnus-summary-prev-digest'). 900 901`C-d' 902 Read the current digest article using Rmail 903 (`gnus-summary-rmail-digest'). 904 905 The commands `C-c C-n' and `C-c C-p' (`gnus-summary-next-digest' and 906`gnus-summary-prev-digest') scroll a digest article to the next and 907previous digested message, respectively. The variable 908`gnus-digest-separator' specifies a regexp which separates digested 909messages. 910 911 The command `C-d' (`gnus-summary-rmail-digest') runs Rmail on a 912digest article and makes it possible to read messages not in digest 913form using Rmail Mode. *Note Rmail: (emacs)Rmail, for more information 914on Rmail Mode. Use the hook `gnus-select-article-hook' to run Rmail on 915digest articles automatically. 916 917 Some newsgroups use a digest format that cannot be read using Rmail. 918In this case, `C-d' displays `Article is not a digest' in the echo 919area. It is, however, possible to read these incomplete digest 920articles by modifying the message headers or bodies appropriately using 921the hook `gnus-select-digest-hook'. *Note Hooks::, to modify 922incomplete digest articles. 923 924 If the variable `gnus-digest-show-summary' is non-`nil', a summary 925of the digest article is also displayed automatically when Rmail is 926invoked. 927 928 929File: gnus, Node: Searching Articles, Next: Referencing Articles, Prev: Reading Articles, Up: Summary Commands 930 931Searching Articles 932================== 933 934`s' 935 Do incremental search on the current article 936 (`gnus-summary-isearch-article'). 937 938`M-s REGEXP RET' 939 Search for articles containing a match for REGEXP forward 940 (`gnus-summary-search-article-forward'). If REGEXP is empty, the 941 last regexp used is used again. 942 943`M-r REGEXP RET' 944 Search for articles containing a match for REGEXP backward 945 (`gnus-summary-search-article-backward'). If REGEXP is empty, the 946 last regexp used is used again. 947 948`& FIELD RET REGEXP RET COMMAND RET' 949 Execute COMMAND on articles containing a match for REGEXP in FIELD 950 of the headers (`gnus-summary-execute-command'). If FIELD is 951 empty, the entire article is searched for. 952 953 The command `s' (`gnus-summary-isearch-article') does an incremental 954search on the current article. This is like switching to the Article 955buffer and typing `C-s' except that the Summary buffer remains 956selected. The command `M-s' (`gnus-summary-search-article-forward') 957searches for articles containing a match for regexp. The search starts 958from the current point of the current article. To search backwards, 959use the command `M-r' (`gnus-summary-search-article-backward'). 960 961 The command `&' (`gnus-summary-execute-command') interactively reads 962a header field name, a regular expression, and a valid key sequence. 963It then searches for all articles in which that regular expression 964matches the contents of the specified header field. It executes the 965key sequence in each such message. 966 967 968File: gnus, Node: Referencing Articles, Next: Saving Articles, Prev: Searching Articles, Up: Summary Commands 969 970Referencing Articles 971==================== 972 973`^' 974 Refer to parent of the current article in terms of the `References' 975 field (`gnus-summary-refer-parent-article'). With a prefix 976 argument, go back to the child. 977 978`M-^ MESSAGE-ID RET' 979 Refer to the article by using the MESSAGE-ID 980 (`gnus-summary-refer-article'). 981 982 The command `^' (`gnus-summary-refer-parent-article') refers to 983parent article of the current article. You can go back to the child 984article with `C-u ^'. 985 986 `^' and `M-^' select a new article without moving point in the 987Summary buffer. As a consequence, you can use `g' to go back to the 988article in which you started the last sequence of `^' and `M-^' 989commands. 990 991 You can use the `r' command in Article mode to follow a reference 992contained in the text of an article. *Note Article Commands::. 993 994 995File: gnus, Node: Saving Articles, Next: Sorting Headers, Prev: Referencing Articles, Up: Summary Commands 996 997Saving Articles 998=============== 999 1000 GNUS supports four different formats for saving articles: Rmail 1001format, Unix mailbox format, MH folder, and article format. 1002 1003`o' 1004 Save the current article in Rmail format 1005 (`gnus-summary-save-article'). 1006 1007`C-o' 1008 Save the current article in Unix mail file format 1009 (`gnus-summary-save-in-mail'). 1010 1011`| COMMAND RET' 1012 Send contents of the current article through a pipe to a subprocess 1013 running COMMAND (`gnus-summary-pipe-output'). 1014 1015 The variable `gnus-default-article-saver' controls the formats used 1016by the `o' command. By default, it uses Rmail format. If you set the 1017variable to `gnus-summary-save-in-folder', `o' uses MH format. If you 1018set it to `gnus-summary-save-in-file', `o' saves the article text 1019verbatim. The default value is `gnus-summary-save-in-rmail'. (All 1020three of these values are commands that you can bind to other keys.) 1021 1022 The variable `gnus-article-save-directory' specifies the default 1023directory for saving articles. If you don't set this variable 1024explicitly, it is initialized from the `SAVEDIR' environment variable, 1025or, as a last resort, `~/News'. 1026 1027 1028File: gnus, Node: Sorting Headers, Next: Posting Articles, Prev: Saving Articles, Up: Summary Commands 1029 1030Sorting Headers 1031=============== 1032 1033 GNUS can sort the Summary buffer by number, subject, date, or author 1034of articles. 1035 1036`C-c C-s C-n' 1037 Sort the headers by number (`gnus-summary-sort-by-number'). 1038 1039`C-c C-s C-s' 1040 Sort the headers by subject (`gnus-summary-sort-by-subject'). 1041 1042`C-c C-s C-d' 1043 Sort the headers by date (`gnus-summary-sort-by-date'). 1044 1045`C-c C-s C-a' 1046 Sort the headers by author (`gnus-summary-sort-by-author'). 1047 1048 Sorting is "stable", which means that it does not disturb the 1049relative order of articles whose sort keys are equal. So you can sort 1050on multiple keys by using several sort commands in a row; the last sort 1051command specifies the most powerful sort key. Thus, `C-c C-s C-a C-c 1052C-s C-d C-c C-s C-n' sorts by author, and sorts the messages for each 1053author by date, and any messages with the same author and date are 1054sorted by number. 1055 1056 To sort in reverse order, give a prefix argument to the sort 1057commands. It is also possible to sort the headers automatically when 1058a newsgroup is selected using the hook `gnus-select-group-hook' (*note 1059Hooks::.). 1060 1061 1062File: gnus, Node: Posting Articles, Next: Forward and Reply, Prev: Sorting Headers, Up: Summary Commands 1063 1064Posting Articles 1065================ 1066 1067`a' 1068 Compose a new article (`gnus-summary-post-news'). 1069 1070`f' 1071 Compose a followup to the current article 1072 (`gnus-summary-followup'). 1073 1074`F' 1075 Compose a followup, and insert the original article right away 1076 (`gnus-summary-followup-with-original'). 1077 1078`C' 1079 Cancel the current article you posted 1080 (`gnus-summary-cancel-article'). 1081 1082 Type `a' (`gnus-summary-post-news') to post a new article. If the 1083variable `gnus-interactive-post' is non-`nil', this command reads the 1084newsgroup, subject, and distribution interactively. The command `f' 1085(`gnus-summary-followup') fills these values in automatically from 1086those of the selected article; thus, the article you post will be a 1087"followup" to the selected article. 1088 1089 Type `C-c C-y' (`news-reply-yank-original') to include the original 1090article in the text of the followup. Unless the original article is 1091quite short, you should edit it to keep only the particular sentences 1092you are directly responding to. 1093 1094 The command `F' (`gnus-summary-followup-with-original') yanks the 1095original article automatically. If you want to followup to several 1096articles in a single article and want to include them in it, type `F' 1097for each of them. You will be asked if a text being edited should be 1098erased. You should answer `n' to the question. 1099 1100 If the variable `gnus-novice-user' is non-`nil', your confirmations 1101will be required for composing a new article. 1102 1103 The major mode for composing a new article is "News Mode" which is 1104borrowed from `rnewspost.el'. Type `C-h m' (`describe-mode') to get 1105more help on News Mode. 1106 1107 Suppose you post an article and then later realize that you made a 1108horrible mistake. You really do not want anyone to see your article. 1109You want the article to be removed from any machines that it may have 1110reached. The command `C' (`gnus-summary-cancel-article') is intended 1111to do this. First select the offending article as current, then type 1112`C'. 1113 1114 1115File: gnus, Node: Forward and Reply, Next: Exiting Newsgroup, Prev: Posting Articles, Up: Summary Commands 1116 1117Forwarding Messages and Replying To Them 1118======================================== 1119 1120`r' 1121 Reply to the author of the current article (`gnus-summary-reply'). 1122 1123`R' 1124 Reply to the author of the current article with the original 1125 article (`gnus-summary-reply-with-original'). 1126 1127`C-c C-f' 1128 Forward current message to someone else. 1129 (`gnus-summary-mail-forward'). 1130 1131`m' 1132 Compose a mail message in other window 1133 (`gnus-summary-mail-other-window'). 1134 1135 Use the command `r' (`gnus-summary-reply') to mail a reply to the 1136author of the article. Type `C-c C-y' to yank the text of the article 1137you are replying to. The command `R' 1138(`gnus-summary-reply-with-original') yanks the original article 1139automatically. 1140 1141 *Note Mail Mode: (emacs)Mail Mode, for information on how to finish 1142sending the reply. 1143 1144 1145File: gnus, Node: Exiting Newsgroup, Prev: Forward and Reply, Up: Summary Commands 1146 1147Exiting the Current Newsgroup 1148============================= 1149 1150 "Exiting" a newsgroup means going back to the Newsgroup buffer and 1151(normally) saving the changes you have made in the status of articles. 1152 1153`q' 1154 Exit the current newsgroup, and return to Group Mode 1155 (`gnus-summary-exit'). This updates the startup file to indicate 1156 the changes in article status in this newsgroup. 1157 1158`Q' 1159 Exit the current newsgroup without saving information about article 1160 status (`gnus-summary-quit'). The effect is to cancel all the 1161 status changes that took place while you were reading this 1162 newsgroup. 1163 1164`C-x C-s' 1165 Save the article status changes, but keep the newsgroup selected 1166 (`gnus-summary-reselect-current-group'). 1167 1168 The command `C-x C-s' (`gnus-summary-reselect-current-group') 1169selects the current newsgroup again after temporary exiting the 1170newsgroup. If no articles remain unread, all articles in the newsgroup 1171will be selected. A prefix argument to the command means to select all 1172articles in the newsgroup. 1173 1174 1175File: gnus, Node: Article Commands, Next: Startup File, Prev: Summary Commands, Up: Top 1176 1177Article Commands 1178**************** 1179 1180 GNUS displays one article at a time, in a buffer called the Article 1181buffer. When you select an article, GNUS puts the Article buffer on the 1182screen and displays the article there. 1183 1184 If the Article buffer is not visible, it appears on the screen 1185whenever you select an article for display. You can specify the height 1186of the Article buffer as a fraction of the screen height by setting the 1187variable `gnus-window-configuration'. 1188 1189 The Article buffer has a special major mode, Article mode. It 1190provides these commands: 1191 1192`SPC' 1193 Scroll this window forward (`gnus-article-next-page'). 1194 1195`DEL' 1196 Scroll this window backward (`gnus-article-prev-page'). 1197 1198`r' 1199 Select another article by following a cross reference 1200 (`gnus-article-refer-article'). A cross reference is specified by 1201 a Message-ID included in the text of the article. Move point to a 1202 message ID before using this command. 1203 1204`o' 1205 Return to the previous article from the referenced article 1206 (`gnus-article-pop-article'). 1207 1208`h' 1209 Reconfigure Emacs windows to show the Summary buffer above the 1210 Article buffer and select the Summary buffer 1211 (`gnus-article-show-summary'). The occasion to use this is when 1212 you have been editing a message to send or article to post. 1213 1214 1215File: gnus, Node: Startup File, Next: Kill File, Prev: Article Commands, Up: Top 1216 1217The Startup File 1218**************** 1219 1220 Each user who reads news has a file called the "startup file" which 1221records which groups he or she subscribes to and which articles have 1222been read. 1223 1224 GNUS actually uses two startup files that contain the same 1225information. The "raw" startup file, named `~/.newsrc', is the master 1226copy of the information; this is the same file that other news readers 1227use, and it is kept in the standard format. The "quick" startup file 1228contains the same information in a format convenient for Lisp to read. 1229GNUS automatically updates the quick startup file from the raw startup 1230file whenever the latter is newer; but normally it saves time by reading 1231only the quick startup file. 1232 1233 These commands in Group mode operate on the startup files: 1234 1235`R' 1236 Restart GNUS, using the raw startup file instead of the quick one, 1237 and get newly arrived articles (`gnus-group-restart'). 1238 1239`s' 1240 Update both startup files based on changes you have made in the 1241 Newsgroups buffer (`gnus-group-force-update'). 1242 1243 1244File: gnus, Node: Kill File, Next: Troubleshooting, Prev: Startup File, Up: Top 1245 1246Kill File 1247********* 1248 1249 A "kill" file contains lisp expressions to be applied to a selected 1250newsgroup. The purpose is to mark articles as read on the basis of 1251some set of regexps. 1252 1253 There are two kinds of kill files, global and local. A global kill 1254file is applied to every newsgroup, and a local kill file to a specified 1255newsgroup. 1256 1257* Menu: 1258 1259* Making a Kill File:: How to make a kill file. 1260* Editing Kill Files:: How to edit kill files. 1261* Kill File Example:: A real example of a kill file. 1262* Names of Kill Files:: Where kill files are kept in the file system. 1263* Background Kills:: Background kill processing. 1264* Advanced Kills:: Advanced kill processing. 1265 1266 1267File: gnus, Node: Making a Kill File, Next: Editing Kill Files, Up: Kill File 1268 1269Making a Kill File 1270================== 1271 1272 A kill file is simply a file of Lisp code that is loaded (i.e., 1273evaluated) while the Summary buffer is current. In order to work 1274properly, the contents of the file must be designed to interact properly 1275with GNUS. To make it easier to write a valid kill file, GNUS provides 1276a general function which does the things users typically want to do in a 1277kill file. 1278 1279 (gnus-kill FIELD REGEXP &optional COMMAND ALL) 1280 1281The `gnus-kill' function performs an action on each article that 1282matches a specified condition. 1283 1284 The two required arguments specify the condition. The argument 1285FIELD specifies a portion of an article; it is either the name of a 1286header field to search, or `""', which says to search the entire 1287article body. The argument REGEXP says what to search for. The 1288condition is this: an article is eligible if the specified portion of 1289the article contains a match for REGEXP. 1290 1291 The argument COMMAND says what to do when an article fits the 1292condition. It is either a valid key sequence in Summary mode, or a Lisp 1293expression which is a list, or `nil'. A key sequence stands for its 1294command definition in Summary mode; it means to execute that command. 1295A Lisp expression means to evaluate that expression. `nil' says to 1296mark the article with the character `X'. 1297 1298 If ALL is omitted or `nil', `gnus-kill' checks only newly arrived 1299articles for meeting the condition. If ALL is non-`nil', it checks all 1300articles. 1301 1302 Here as an example is how to mark all articles whose subjects contain 1303the string `AI': 1304 1305 (gnus-kill "Subject" "AI") 1306 1307 If you want to mark articles with `D' instead of `X', you can use 1308the following expression, which works by executing the `d' command. 1309 1310 (gnus-kill "Subject" "AI" "d") 1311 1312 The usual aim of a kill file is to delete certain articles. The way 1313to do this is to mark them with `X' and then call `gnus-expunge', like 1314this: 1315 1316 (gnus-expunge "X") 1317 1318 `gnus-expunge' takes one argument, a string containing a number of 1319mark characters, and deletes all the lines that are marked with any of 1320those characters. 1321 1322 It works to use `gnus-expunge' for the marker `D', but you may not 1323like what it does, because this prevents you from ever rereading an 1324article marked as read in a previous session. That's why the default 1325marker for `gnus-kill' is `X' rather than `D'. 1326 1327 Searching in the Summary buffer normally ignores case; this includes 1328the searching inside of `gnus-kill'. If you do not want to ignore the 1329case, set the variable `case-fold-search' to `nil'. 1330 1331 After GNUS has finished applying the appropriate kill files, if the 1332newsgroup has no articles left, GNUS exits that newsgroup right away. 1333 1334 1335File: gnus, Node: Editing Kill Files, Next: Kill File Example, Prev: Making a Kill File, Up: Kill File 1336 1337Editing Kill Files 1338================== 1339 1340 You can use these GNUS commands to find a kill file for editing: 1341 1342`M-k' 1343 Edit a local KILL file applied to the current newsgroup 1344 (`gnus-summary-edit-local-kill'). 1345 1346`M-K' 1347 Edit a global KILL file applied to all newsgroups 1348 (`gnus-summary-edit-global-kill'). 1349 1350The same key sequences (`M-k' and `M-K') are available in Group mode 1351also, but the commands that implement them are 1352`gnus-group-edit-local-kill' and `gnus-group-edit-global-kill'. 1353 1354 The major mode of these buffers is Kill-File mode, which is like 1355Emacs Lisp mode but with the following additional commands: 1356 1357`C-c C-k C-s' 1358 Insert a template of a kill command on subject 1359 (`gnus-kill-file-kill-by-subject'). 1360 1361`C-c C-k C-a' 1362 Insert a template of a kill command on author 1363 (`gnus-kill-file-kill-by-author'). 1364 1365`C-c C-a' 1366 Evaluate the whole current buffer, but do so with the Summary 1367 buffer current (`gnus-kill-file-apply-buffer'). This is a 1368 convenient way to try out a kill file you have been editing. 1369 1370`C-c C-e' 1371 Evaluate the sexp before point in current buffer, but do so with 1372 the Summary buffer current (`gnus-kill-file-apply-last-sexp'). 1373 1374`C-c C-c' 1375 Save the kill file and then return to the previous buffer 1376 (`gnus-kill-file-exit'). 1377 1378 The effects of `C-c C-k C-s' and `C-c C-k C-a' depend on how you 1379began editing the kill file. If you gave the command `M-k' or `M-K' 1380while in the Summary buffer, then the article that was current at that 1381time supplies the string to search for, from its own subject or author. 1382 1383 1384File: gnus, Node: Kill File Example, Next: Names of Kill Files, Prev: Editing Kill Files, Up: Kill File 1385 1386Example of a Kill File 1387====================== 1388 1389 This is a real example of a local kill file for newsgroup `control'. 1390 1391 ;; Apply to the newsgroup `control' if the NNTP server is flab. 1392 (if (string-equal gnus-nntp-server "flab") 1393 (progn 1394 (gnus-kill "Subject" "ihave flab\\|sendme") 1395 (gnus-kill "Subject" "cancel\\|newgroup\\|rmgroup" "d") 1396 (gnus-expunge "X"))) 1397 1398