\input texinfo @c -*-texinfo-*-
@setfilename gnus
-@settitle Semi-gnus 6.1.2 Manual
+@settitle Semi-gnus 6.2.4 Manual
@synindex fn cp
@synindex vr cp
@synindex pg cp
@tex
@titlepage
-@title Semi-gnus 6.1.2 Manual
+@title Semi-gnus 6.2.4 Manual
@author by Lars Magne Ingebrigtsen
@page
API. So Semi-gnus does not discriminate various language communities.
Oh, if you are a Klingon, please wait Unicode Next Generation.
-This manual corresponds to Semi-gnus 6.1.2.
+This manual corresponds to Semi-gnus 6.2.4.
@end ifinfo
Now, you all know about the @file{.newsrc} file. All subscription
information is traditionally stored in this file.
-Things got a bit more complicated with @sc{gnus}. In addition to
+Things got a bit more complicated with @sc{GNUS}. In addition to
keeping the @file{.newsrc} file updated, it also used a file called
@file{.newsrc.el} for storing all the information that didn't fit into
the @file{.newsrc} file. (Actually, it also duplicated everything in
-the @file{.newsrc} file.) @sc{gnus} would read whichever one of these
+the @file{.newsrc} file.) @sc{GNUS} would read whichever one of these
files was the most recently saved, which enabled people to swap between
@sc{gnus} and other newsreaders.
@vindex gnus-save-newsrc-file
You can turn off writing the @file{.newsrc} file by setting
@code{gnus-save-newsrc-file} to @code{nil}, which means you can delete
-the file and save some space, as well as making exit from Gnus faster.
+the file and save some space, as well as making exit from gnus faster.
However, this will make it impossible to use other newsreaders than
-Gnus. But hey, who would want to, right?
+gnus. But hey, who would want to, right?
@vindex gnus-save-killed-list
If @code{gnus-save-killed-list} (default @code{t}) is @code{nil}, Gnus
@end lisp
@vindex gnus-init-file
-When Gnus starts, it will read the @code{gnus-site-init-file}
+When gnus starts, it will read the @code{gnus-site-init-file}
(@file{.../site-lisp/gnus} by default) and @code{gnus-init-file}
(@file{~/.gnus} by default) files. These are normal Emacs Lisp files
and can be used to avoid cluttering your @file{~/.emacs} and
-@file{site-init} files with Gnus stuff. Gnus will also check for files
+@file{site-init} files with gnus stuff. Gnus will also check for files
with the same names as these, but with @file{.elc} and @file{.el}
suffixes. In other words, if you have set @code{gnus-init-file} to
@file{~/.gnus}, it will look for @file{~/.gnus.elc}, @file{~/.gnus.el},
@cindex dribble file
@cindex auto-save
-Whenever you do something that changes the Gnus data (reading articles,
+Whenever you do something that changes the gnus data (reading articles,
catching up, killing/subscribing groups), the change is added to a
special @dfn{dribble buffer}. This buffer is auto-saved the normal
Emacs way. If your Emacs should crash before you have saved the
@file{.newsrc} files, all changes you have made can be recovered from
this file.
-If Gnus detects this file at startup, it will ask the user whether to
-read it. The auto save file is deleted whenever the real startup file is
-saved.
+If gnus detects this file at startup, it will ask the user whether to
+read it. The auto save file is deleted whenever the real startup file
+is saved.
@vindex gnus-use-dribble-file
-If @code{gnus-use-dribble-file} is @code{nil}, Gnus won't create and
+If @code{gnus-use-dribble-file} is @code{nil}, gnus won't create and
maintain a dribble buffer. The default is @code{t}.
@vindex gnus-dribble-directory
Gnus will put the dribble file(s) in @code{gnus-dribble-directory}. If
-this variable is @code{nil}, which it is by default, Gnus will dribble
+this variable is @code{nil}, which it is by default, gnus will dribble
into the directory where the @file{.newsrc} file is located. (This is
normally the user's home directory.) The dribble file will get the same
file permissions as the @code{.newsrc} file.
(setq gnus-group-highlight
'(((> unread 200) . my-group-face-1)
- ((and (< level 3) (zerop unread)) . my-group-face-2)
- ((< level 3) . my-group-face-3)
- ((zerop unread) . my-group-face-4)
- (t . my-group-face-5)))
+ ((and (< level 3) (zerop unread)) . my-group-face-2)
+ ((< level 3) . my-group-face-3)
+ ((zerop unread) . my-group-face-4)
+ (t . my-group-face-5)))
@end lisp
Also @pxref{Faces and Fonts}.
include @code{dejanews}, @code{altavista} and @code{reference}.
@xref{Web Searches}.
+If you use the @code{dejanews} search engine, you can limit the search
+to a particular group by using a match string like
+@samp{~g alt.sysadmin.recovery shaving}.
+
@item G DEL
@kindex G DEL (Group)
@findex gnus-group-delete-group
@item score-file
@cindex score file group parameter
Elements that look like @code{(score-file . "file")} will make
-@file{file} into the current adaptive score file for the group in
-question. All adaptive score entries will be put into this file.
+@file{file} into the current score file for the group in question. All
+interactive score entries will be put into this file.
@item adapt-file
@cindex adapt file group parameter
Twenty minus thread level spaces.
@item U
Unread.
+
@item R
-Replied.
+This misleadingly named specifier is the @dfn{secondary mark}. This
+mark will say whether the article has been replied to, has been cached,
+or has been saved.
+
@item i
Score as a number (@pxref{Scoring}).
@item z
@end table
+Also @pxref{(message)Header Commands} for more information.
+
@node Summary Post Commands
@subsection Summary Post Commands
(@code{gnus-uu-post-news}). (@pxref{Uuencoding and Posting}).
@end table
+Also @pxref{(message)Header Commands} for more information.
+
@node Canceling and Superseding
@section Canceling Articles
@item SPACE
@vindex gnus-unread-mark
-Markes as unread (@code{gnus-unread-mark}).
+Marked as unread (@code{gnus-unread-mark}).
@dfn{Unread articles} are articles that haven't been read at all yet.
@end table
@item M P R
@kindex M P R (Summary)
@findex gnus-uu-mark-by-regexp
-Mark articles by a regular expression (@code{gnus-uu-mark-by-regexp}).
+Mark articles that have a @code{Subject} header that matches a regular
+expression (@code{gnus-uu-mark-by-regexp}).
@item M P r
@kindex M P r (Summary)
If that's the case, Gnus will always prompt you for what method to use
for posting.
+Finally, if you want to always post using the same select method as
+you're reading from (which might be convenient if you're reading lots of
+groups from different private servers), you can set this variable to
+@code{current}.
+
@node Mail and Post
@section Mail and Post
by the @code{nntp-maximum-request} variable, and is 400 by default. If
your network is buggy, you should set this to 1.
-@item nntp-connection-timeout
-@vindex nntp-connection-timeout
-If you have lots of foreign @code{nntp} groups that you connect to
-regularly, you're sure to have problems with @sc{nntp} servers not
-responding properly, or being too loaded to reply within reasonable
-time. This is can lead to awkward problems, which can be helped
-somewhat by setting @code{nntp-connection-timeout}. This is an integer
-that says how many seconds the @code{nntp} backend should wait for a
-connection before giving up. If it is @code{nil}, which is the default,
-no timeouts are done.
-
+@c @item nntp-connection-timeout
+@c @vindex nntp-connection-timeout
+@c If you have lots of foreign @code{nntp} groups that you connect to
+@c regularly, you're sure to have problems with @sc{nntp} servers not
+@c responding properly, or being too loaded to reply within reasonable
+@c time. This is can lead to awkward problems, which can be helped
+@c somewhat by setting @code{nntp-connection-timeout}. This is an integer
+@c that says how many seconds the @code{nntp} backend should wait for a
+@c connection before giving up. If it is @code{nil}, which is the default,
+@c no timeouts are done.
+@c
@c @item nntp-command-timeout
@c @vindex nntp-command-timeout
@c @cindex PPP connections
@lisp
(setq gnus-home-score-file
;; All groups that match the regexp "\\.emacs"
- '("\\.emacs" "emacs.SCORE")
- ;; All the comp groups in one score file
- ("^comp" "comp.SCORE"))
+ '(("\\.emacs" "emacs.SCORE")
+ ;; All the comp groups in one score file
+ ("^comp" "comp.SCORE")))
@end lisp
@vindex gnus-home-adapt-file
which defaults to the @samp{SAVEDIR} environment variable, or
@file{~/News/} if that variable isn't set.
+Note that gnus is mostly loaded when the @file{.gnus.el} file is read.
+This means that other directory variables that are initialized from this
+variable won't be set properly if you set this variable in
+@file{.gnus.el}. Set this variable in @file{.emacs} instead.
+
@item gnus-default-directory
@vindex gnus-default-directory
Not related to the above variable at all---this variable says what the
* ding Gnus:: New things in Gnus 5.0/5.1, the first new Gnus.
* September Gnus:: The Thing Formally Known As Gnus 5.3/5.3.
* Red Gnus:: Third time best---Gnus 5.4/5.5.
-* Quassia Gnus:: Two times two is four, or Semi-gnus 6.1.2.
+* Quassia Gnus:: Two times two is four, or Gnus 5.6.7.
@end menu
These lists are, of course, just @emph{short} overviews of the
@node Quassia Gnus
@subsubsection Quassia Gnus
-New features in Semi-gnus 6.1.2:
+New features in Gnus 5.6.7:
@itemize @bullet
<expr> would be a boolean expression on the labels, e.g.
- `/ l bug & !fixed RET'
+`/ l bug & !fixed RET'
@end example
would show all the messages which are labeled `bug' but not labeled
button:
- ^L's
+^L's
- more than n blank lines
+more than n blank lines
- more than m identical lines
- (which should be replaced with button to show them)
+more than m identical lines
+(which should be replaced with button to show them)
- any whitespace surrounding any of the above
+any whitespace surrounding any of the above
@item
Group-mode
show-list-of-articles-in-group
- if (key-pressed == SPACE)
- if (no-more-articles-in-group-to-select)
- if (articles-selected)
- start-reading-selected-articles;
- junk-unread-articles;
- next-group;
- else
- show-next-page;
-
- else if (key-pressed = '.')
- if (consolidated-menus) # same as hide-thread in Gnus
- select-thread-under-cursor;
- else
- select-article-under-cursor;
+ if (key-pressed == SPACE)
+ if (no-more-articles-in-group-to-select)
+ if (articles-selected)
+ start-reading-selected-articles;
+ junk-unread-articles;
+ next-group;
+ else
+ show-next-page;
+
+ else if (key-pressed = '.')
+ if (consolidated-menus) # same as hide-thread in Gnus
+ select-thread-under-cursor;
+ else
+ select-article-under-cursor;
Article-mode
- if (key-pressed == SPACE)
- if (more-pages-in-article)
- next-page;
- else if (more-selected-articles-to-read)
- next-article;
- else
- next-group;
+ if (key-pressed == SPACE)
+ if (more-pages-in-article)
+ next-page;
+ else if (more-selected-articles-to-read)
+ next-article;
+ else
+ next-group;
@end example
@item
@item
It would be nice if it also handled
- <URL:news://sunsite.auc.dk/>
+ <URL:news://sunsite.auc.dk/>
which should correspond to `B nntp RET sunsite.auc.dk' in *Group*.
(let ((buffer-read-only nil))
(goto-char (point-min))
(while (search-forward "\221" nil t)
- (replace-match "`" t t))
+ (replace-match "`" t t))
(goto-char (point-min))
(while (search-forward "\222" nil t)
- (replace-match "'" t t))
+ (replace-match "'" t t))
(goto-char (point-min))
(while (search-forward "\223" nil t)
- (replace-match "\"" t t))
+ (replace-match "\"" t t))
(goto-char (point-min))
(while (search-forward "\224" nil t)
- (replace-match "\"" t t)))))
+ (replace-match "\"" t t)))))
@end example
@item
(add-hook 'gnus-exit-query-functions
'(lambda ()
(if (and (file-exists-p nnmail-spool-file)
- (> (nnheader-file-size nnmail-spool-file) 0))
+ (> (nnheader-file-size nnmail-spool-file) 0))
(yes-or-no-p "New mail has arrived. Quit Gnus anyways? ")
(y-or-n-p "Are you sure you want to quit Gnus? "))))
@end example
is less than a certain number of days old.
@item
+New spec: %~(tab 56) to put point on column 56
+
+@item
+Allow Gnus Agent scoring to use normal score files.
+
+@item
Solve the halting problem.
@c TODO