Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

*** empty log message ***

  • Loading branch information...
commit 62784c82aa7f41fa78a463b56f469c80ebe69277 1 parent 45f5466
@larsmagne larsmagne authored
View
28 lisp/ChangeLog
@@ -1,5 +1,33 @@
+Fri Aug 4 00:08:59 1995 Lars Magne Ingebrigtsen <lingebri@sunsci7.cern.ch>
+
+ * nnheader.el (nnheader-find-file-noselect): New function.
+ * nnfolder.el (nnfolder-read-folder): Use it.
+ * nnmbox.el (nnmbox-possibly-change-newsgroup): Ditto.
+
+ * gnus-msg.el (gnus-inews-check-post): Use y-or-n instead of
+ yes-or-no.
+
+ * nntp.el (nntp-open-server): Didn't use port number when opening.
+
+ * gnus.el (gnus): Set the name of the current startup file here.
+
+Thu Aug 3 22:15:06 1995 Lars Magne Ingebrigtsen <lingebri@sunsci7.cern.ch>
+
+ * gnus.el (gnus-remove-some-windows): Didn't delete all summary
+ windows.
+
+ * nntp.el (nntp-send-xover-command): Wait for reply.
+ (nntp-retrieve-headers-with-xover): Would not do anything useful
+ if nntp-nov-gap was nil.
+
+Thu Aug 3 21:48:51 1995 Lars Magne Ingebrigtsen <lingebri@sunsci4.cern.ch>
+
+ * gnus-msg.el (gnus-debug): Don't quote non-lists.
+
Wed Aug 2 15:08:10 1995 Lars Magne Ingebrigtsen <lingebri@sunsci7.cern.ch>
+ * gnus.el: 0.99.3 is released.
+
* gnus.el (gnus): Don't read the dribble file that early after
all.
(gnus-active-to-gnus-format): Set group to nil anyway.
View
19 lisp/gnus-msg.el
@@ -769,7 +769,7 @@ will attempt to use the foreign server to post the article."
(or (gnus-check-before-posting 'sendsys)
(save-excursion
(if (re-search-forward "^Sendsys:\\|^Version:" nil t)
- (gnus-yes-or-no-p
+ (gnus-y-or-n-p
(format "The article contains a %s command. Really post? "
(buffer-substring (match-beginning 0)
(1- (match-end 0)))))
@@ -782,7 +782,7 @@ will attempt to use the foreign server to post the article."
(or (not message-id)
(and (string-match "@" message-id)
(string-match "@[^\\.]*\\." message-id))
- (gnus-yes-or-no-p
+ (gnus-y-or-n-p
(format
"The Message-ID looks strange: \"%s\". Really post? "
message-id))))))
@@ -793,13 +793,13 @@ will attempt to use the foreign server to post the article."
(from (mail-fetch-field "from")))
(cond
((not from)
- (gnus-yes-or-no-p "There is no From line. Really post? "))
+ (gnus-y-or-n-p "There is no From line. Really post? "))
((not (string-match "@[^\\.]*\\." from))
- (gnus-yes-or-no-p
+ (gnus-y-or-n-p
(format
"The address looks strange: \"%s\". Really post? " from)))
((string-match "(.*).*(.*)" from)
- (gnus-yes-or-no-p
+ (gnus-y-or-n-p
(format
"The From header looks strange: \"%s\". Really post? "
from)))
@@ -818,7 +818,7 @@ will attempt to use the foreign server to post the article."
(zerop (forward-line 1))))
(or (bolp)
(eobp)
- (gnus-yes-or-no-p
+ (gnus-y-or-n-p
(format
"You have lines longer than 79 characters. Really post? ")))))
;; Check for control characters.
@@ -841,7 +841,7 @@ will attempt to use the foreign server to post the article."
(gnus-check-before-posting 'new-text)
(if (and (= (buffer-size) (car gnus-article-check-size))
(= (gnus-article-checksum) (cdr gnus-article-check-size)))
- (gnus-yes-or-no-p
+ (gnus-y-or-n-p
"It looks like there's no new text in your article. Really post? ")
t))
;; Check the length of the signature.
@@ -1738,7 +1738,10 @@ The source file has to be in the Emacs load path."
(insert "------------------- Environment follows -------------------\n\n")
(while olist
(if (boundp (car olist))
- (insert "(setq " (symbol-name (car olist)) " '"
+ (insert "(setq " (symbol-name (car olist))
+ (if (or (consp (symbol-value (car olist)))
+ (symbolp (symbol-value (car olist))))
+ " '" " ")
(prin1-to-string (symbol-value (car olist))) ")\n")
(insert ";; (makeunbound '" (symbol-name (car olist)) ")\n"))
(setq olist (cdr olist)))
View
39 lisp/gnus.el
@@ -1308,7 +1308,7 @@ variable (string, integer, character, etc).")
(defconst gnus-maintainer "gnus-bug@ifi.uio.no (The Gnus Bugfixing Girls + Boys)"
"The mail address of the Gnus maintainers.")
-(defconst gnus-version "(ding) Gnus v0.99.3"
+(defconst gnus-version "(ding) Gnus v0.99.4"
"Version number for this version of Gnus.")
(defvar gnus-info-nodes
@@ -2551,13 +2551,16 @@ If optional argument RE-ONLY is non-nil, strip `Re:' only."
(delete-window (get-buffer-window buf)))))
(setq buffers (cdr buffers)))
;; Remove windows on *all* summary buffers.
- (let ((buffers (buffer-list)))
- (while buffers
- (if (and (string-match
- "^\\*Summary" (or (buffer-name (car buffers)) ""))
- (get-buffer-window (car buffers)))
- (delete-window (get-buffer-window (car buffers))))
- (setq buffers (cdr buffers)))))))
+ (walk-windows
+ (lambda (win)
+ (let ((buf (window-buffer win)))
+ (if (string-match "^\\*Summary" (buffer-name buf))
+ (if first
+ (progn
+ (select-window win)
+ (switch-to-buffer nntp-server-buffer)
+ (setq first nil))
+ (delete-window win)))))))))
(defun gnus-version ()
"Version numbers of this version of Gnus."
@@ -3166,6 +3169,11 @@ prompt the user for the name of an NNTP server to use."
(gnus-group-quit)
(run-hooks 'gnus-startup-hook)
;; NNTP server is successfully open.
+
+ ;; Find the current startup file name.
+ (setq gnus-current-startup-file
+ (gnus-make-newsrc-file gnus-startup-file))
+
;; Read the dribble file.
(and gnus-use-dribble-file (gnus-dribble-read-file))
@@ -6452,17 +6460,17 @@ If READ-ALL is non-nil, all articles in the group are selected."
(gnus-get-newsgroup-headers-xover articles))
;; If we were to fetch old headers, but the backend didn't
;; support XOVER, then it is possible we fetched one article
- ;; that we shouldn't have. If that's the case, we pop it off the
- ;; list of headers.
+ ;; that we shouldn't have. If that's the case, we remove it.
(if (not gnus-fetch-old-headers)
()
(save-excursion
(set-buffer nntp-server-buffer)
(goto-char (point-min))
- (and (looking-at "[0-9]+[ \t]+1[ \t]")
- (delete-region
- (point)
- (search-forward "\n.\n" nil t)))))
+ (and
+ (looking-at "[0-9]+[ \t]+1[ \t]") ; This is not a NOV line.
+ (delete-region ; So we delete this head.
+ (point)
+ (search-forward "\n.\n" nil t)))))
(gnus-get-newsgroup-headers)))
(gnus-message 5 "Fetching headers...done")
;; Remove canceled articles from the list of unread articles.
@@ -10846,6 +10854,8 @@ or not."
(insert (hexl-hex-string-to-integer
(buffer-substring (point) (+ 2 (point)))))
(delete-char 2))
+ ((looking-at "=")
+ (delete-char 1))
((gnus-message 3 "Malformed MIME quoted-printable message"))))))
(defvar gnus-article-time-units
@@ -12653,7 +12663,6 @@ Returns whether the updating was successful."
(defun gnus-read-newsrc-file (&optional force)
"Read startup file.
If FORCE is non-nil, the .newsrc file is read."
- (setq gnus-current-startup-file (gnus-make-newsrc-file gnus-startup-file))
;; Reset variables that might be defined in the .newsrc.eld file.
(let ((variables gnus-variable-list))
(while variables
View
3  lisp/nnfolder.el
@@ -587,7 +587,8 @@ such things as moving mail. All buffers always get killed upon server close.")
;; We should be paranoid here and make sure the group is in the alist,
;; and add it if it isn't.
;;(if (not (assoc nnfoler-current-group nnfolder-group-alist)
- (set-buffer (setq nnfolder-current-buffer (find-file-noselect file)))
+ (set-buffer (setq nnfolder-current-buffer
+ (nnheader-find-file-noselect file)))
(buffer-disable-undo (current-buffer))
(let ((delim (concat "^" rmail-unix-mail-delimiter))
(marker (concat "\n" nnfolder-article-marker))
View
11 lisp/nnheader.el
@@ -206,6 +206,17 @@
(eobp)
(widen))))
+(defun nnheader-find-file-noselect (file)
+ "Basically does the same as `find-file-noselect', but avoids that function."
+ (save-excursion
+ (or
+ (get-file-buffer file)
+ (prog1
+ (get-buffer-create (create-file-buffer file))
+ (and (file-exists-p file)
+ (not (file-directory-p file))
+ (insert-file-contents file))))))
+
(provide 'nnheader)
;;; nnheader.el ends here
View
4 lisp/nnmbox.el
@@ -371,7 +371,7 @@
(not (buffer-name nnmbox-mbox-buffer)))
(save-excursion
(set-buffer (setq nnmbox-mbox-buffer
- (find-file-noselect nnmbox-mbox-file)))
+ (nnheader-find-file-noselect nnmbox-mbox-file)))
(buffer-disable-undo (current-buffer))))
(if (not nnmbox-group-alist)
(nnmail-activate 'nnmbox))
@@ -433,7 +433,7 @@
(let ((delim (concat "^" rmail-unix-mail-delimiter))
start end)
(set-buffer (setq nnmbox-mbox-buffer
- (find-file-noselect nnmbox-mbox-file)))
+ (nnheader-find-file-noselect nnmbox-mbox-file)))
(buffer-disable-undo (current-buffer))
(goto-char (point-min))
(while (re-search-forward delim nil t)
View
26 lisp/nntp.el
@@ -356,7 +356,7 @@ instead call function `nntp-status-message' to get status message.")
(if (member server nntp-timeout-servers)
nil
(run-hooks 'nntp-prepare-server-hook)
- (nntp-open-server-semi-internal nntp-address))))))
+ (nntp-open-server-semi-internal nntp-address nntp-port-number))))))
(defun nntp-close-server (&optional server)
"Close connection to SERVER."
@@ -510,7 +510,8 @@ instead call function `nntp-status-message' to get status message.")
(if (not (or (nntp-async-server-opened)
(nntp-async-open-server)))
(progn
- (message "Can't open second connection to %s" nntp-current-server)
+ (message "Can't open second connection to %s" nntp-address)
+; (debug)
(ding)
(setq nntp-async-articles nil)
(sit-for 2))
@@ -873,7 +874,8 @@ It will prompt for a password."
;; We don't care about gaps.
((not nntp-nov-gap)
- (nntp-send-xover-command (car sequence) (nntp-last-element sequence)))
+ (nntp-send-xover-command (car sequence) (nntp-last-element sequence)
+ 'wait))
;; We do it the hard way. For each gap, an XOVER command is sent
;; to the server. We do not wait for a reply from the server, we
@@ -937,14 +939,17 @@ It will prompt for a password."
nntp-server-xover))))
-(defun nntp-send-xover-command (beg end)
+(defun nntp-send-xover-command (beg end &optional wait-for-reply)
(let ((range (format "%d-%d" beg end)))
(if (stringp nntp-server-xover)
;; If `nntp-server-xover' is a string, then we just send this
- ;; command. We do not wait for the reply.
- (progn
- (nntp-send-strings-to-server nntp-server-xover range)
- t)
+ ;; command.
+ (if wait-for-reply
+ (nntp-send-command "^\\.\r?\n" nntp-server-xover range)
+ ;; We do not wait for the reply.
+ (progn
+ (nntp-send-strings-to-server nntp-server-xover range)
+ t))
(let ((commands nntp-xover-commands))
;; `nntp-xover-commands' is a list of possible XOVER commands.
;; We try them all until we get at positive response.
@@ -1075,8 +1080,11 @@ If SERVICE, this this as the port number."
(run-hooks 'nntp-server-hook)
nntp-server-process)))))
+(defvar nntp-dum-num 5)
+
(defun nntp-open-network-stream (server)
- (open-network-stream "nntpd" nntp-server-buffer server nntp-port-number))
+ (open-network-stream
+ "nntpd" nntp-server-buffer server nntp-port-number))
(defun nntp-open-rlogin (server)
(let ((proc (start-process "nntpd" nntp-server-buffer "rsh" server)))
View
331 texi/refcard.tex
@@ -1,79 +1,64 @@
-% Reference Card for (ding) Gnus 0.98
-% by Vladimir Alexiev <vladimir@cs.ualberta.ca>, 26 July 1995.
+% Reference Card for (ding) Gnus
% To be processed with latex 2.09
+\def\author{Vladimir Alexiev $<$vladimir@cs.ualberta.ca$>$}
+\def\progver{0.98}\def\refver{0.3} % program and refcard versions
+\def\date{1 August 1995}
\documentstyle{article}
\textwidth 7.5in \textheight 10in \topmargin -1.0in
-%\textwidth 7.27in \textheight 10.69in \topmargin -1.69in
-% use this alternative setting for A4 (or leave it alone if you don't mind
-% a bit of space at the top and bottom of the page).
+% the same settings work for A4, although there is a bit of space at the
+% bottom of the page).
\oddsidemargin -0.5in \evensidemargin -0.5in
\begin{document}
\twocolumn\scriptsize\pagestyle{empty}
\raggedbottom\raggedright
\newlength{\mywidth}
-\setlength{\mywidth}{0.5\textwidth}
-\addtolength{\mywidth}{-0.75in}
-\newenvironment{keys}
- {\nopagebreak[4]\begin{tabular}{@{}l@{\hspace{\tabcolsep}}p{\mywidth}@{}}}
+\newenvironment{keys}[1] % #1 is the widest key
+ {\nopagebreak
+ \settowidth{\mywidth}{#1}
+ \addtolength{\mywidth}{\tabcolsep}
+ \addtolength{\mywidth}{-\columnwidth}
+ \begin{tabular}{@{}l@{\hspace{\tabcolsep}}p{-\mywidth}@{}}}
{\end{tabular}\\}
\catcode`\^=12 % allow ^ to be typed literally
-\def\Bar{\rule[-0.3ex]{0.5pt}{2ex}\hspace{0.1em}} % the bar | symbol
\begin{center}
-{\bf\LARGE (ding) Gnus Reference Card\\}
-{\normalsize for version 0.98}
+{\bf\LARGE (ding) Gnus \progver\ Reference Card\\}
+{\normalsize Refcard version \refver}
\end{center}
-Gnus is complex. Currently it has some 346 interactive (user-callable)
-functions. Of these 279 have keybindings in the two major modes (Group and
-Summary/Article). Of these functions, 96 have more than one binding; some
-have 3 or even 4 bindings. The total number of keybindings is 389. In order
-to save 40\% space, every function is listed only once, under the ``more
-logical'' binding. Alternative bindings are given in parentheses in the
-beginning of the description.
-
-Many Gnus commands are affected by the numeric prefix. Normally you enter a
-prefix by holding the Meta key and typing a number, but in most Gnus modes
-you don't need to use Meta since the digits are not self-inserting. The
-prefixed behavior of commands is given in [brackets]. Often the prefix is
-used to specify:
+\vspace{1in}
+\centerline{(Gnus logo goes here)}
+\vspace{1in}
+\vfill
-\quad [distance] How many objects to move the point over.
-
-\quad [scope] How many objects to operate on (including the current one).
-
-\quad [p/p] The ``Process/Prefix Convention'': If a prefix is specified
-then it determines how many objects to operate on. Else if there are some
-objects marked with the process mark \#, these are operated on. Else only
-the current object is affected.
-
-\quad [level] A group subscribedness level. Only groups with a lower or
-equal level will be affected by the operation. If no prefix is given,
-`gnus-group-default-list-level' is used. If
-`gnus-group-use-permanent-levels', then a prefix to the `g' and `l'
-commands will also set the default level.
-
-\quad [score] An article score. If no prefix is given,
-`gnus-summary-default-score' is used.
-
-Some functions were not yet documented at the time of creating this
-reference card and are clearly indicated as such.
-
-\begin{keys}
-C-c C-i & Go to the Gnus info node.\\
-C-c C-b & Send a Gnus bug report.\\
-\end{keys}
+\subsection*{Group Subscribedness Levels}
+\begin{tabular}{|r|c|l|}
+\hline
+1 & mail groups & \\
+2 & mail groups & \\
+3 & & subscribed \\
+4 & & \\
+5 & default list level & \\
+\hline
+6 & & \\
+7 & & unsubscribed \\
+\hline
+8 & & zombies \\
+\hline
+9 & & killed \\
+\hline
+\end{tabular}
\section*{Group Mode}
-\begin{keys}
-RET & (=) Select this group. [Prefix: how many articles to fetch.
+\begin{keys}{C-c M-C-x}
+RET & (=) Select this group. [Prefix: how many (read) articles to fetch.
Positive: newest articles, negative: oldest ones.]\\
SPC & Select this group and display the first unread article. [Same
prefix as above.]\\
? & Give a very short help message.\\
$<$ & Go to the beginning of the Group buffer.\\
$>$ & Go to the end of the Group buffer.\\
-, & Jump to the unread group with the lowest level.\\
+, & Jump to the lowest-level group with unread articles.\\
. & Jump to the first group with unread articles.\\
^ & Enter the Server buffer mode.\\
a & Post an article to a group.\\
@@ -81,7 +66,6 @@ \section*{Group Mode}
c & Mark all unticked articles in this group as read (catchup). [p/p]\\
g & Check the server for new articles. [level]\\
j & Jump to a group.\\
-l & List groups with unread articles. [level]\\
m & Mail a message to someone.\\
n & Go to the next group with unread articles. [distance]\\
p & (DEL) Go to the previous group with unread articles. [distance]\\
@@ -93,10 +77,9 @@ \section*{Group Mode}
B & Browse a foreign server.\\
C & Mark all articles in this group as read (catchup). [p/p]\\
F & Find new groups and process them.\\
-L & List all groups. [level]\\
N & Go to the next group. [distance]\\
P & Go to the previous group. [distance]\\
-Q & Quit Gnus without saving any startup files.\\
+Q & Quit Gnus without saving any startup (.newsrc) files.\\
R & Restart Gnus.\\
V & Display the Gnus version number.\\
Z & Clear the dribble buffer.\\
@@ -111,13 +94,57 @@ \section*{Group Mode}
M-d & Describe ALL groups. [Prefix: re-read the description from the
server.]\\
M-f & Fetch this group's FAQ (using ange-ftp).\\
-M-g & Check for new articles in this group. [p/p]\\
-M-n & Go to the previous unread group of the same or lower level. [distance]\\
-M-p & Go to the next unread group of the same or lower level. [distance]\\
+M-g & Check the server for new articles in this group. [p/p]\\
+M-n & Go to the previous unread group on the same or lower level.
+[distance]\\
+M-p & Go to the next unread group on the same or lower level. [distance]\\
+\end{keys}
+
+\pagebreak
+
+\subsubsection*{Notes}
+Gnus is complex. Currently it has some 346 interactive (user-callable)
+functions. Of these 279 are in the two major modes (Group and
+Summary/Article). Many of these functions have more than one binding, some
+have 3 or even 4 bindings. The total number of keybindings is 389. So in
+order to save 40\% space, every function is listed only once on this
+refcard, under the ``more logical'' binding. Alternative bindings are given
+in parentheses in the beginning of the description.
+
+Many Gnus commands are affected by the numeric prefix. Normally you enter a
+prefix by holding the Meta key and typing a number, but in most Gnus modes
+you don't need to use Meta since the digits are not self-inserting. The
+prefixed behavior of commands is given in [brackets]. Often the prefix is
+used to specify:
+
+\quad [distance] How many objects to move the point over.
+
+\quad [scope] How many objects to operate on (including the current one).
+
+\quad [p/p] The ``Process/Prefix Convention'': If a prefix is given then it
+determines how many objects to operate on. Else if there are some objects
+marked with the process mark \#, these are operated on. Else only the
+current object is affected.
+
+\quad [level] A group subscribedness level. Only groups with a lower or
+equal level will be affected by the operation. If no prefix is given,
+`gnus-group-default-list-level' is used. If
+`gnus-group-use-permanent-levels', then a prefix to the `g' and `l'
+commands will also set the default level.
+
+\quad [score] An article score. If no prefix is given,
+`gnus-summary-default-score' is used.
+%Some functions were not yet documented at the time of creating this
+%reference card and are clearly indicated as such.
+\\*[\baselineskip]
+\begin{keys}{C-c C-i}
+C-c C-i & Go to the Gnus online info.\\
+C-c C-b & Send a Gnus bug report.\\
\end{keys}
+\vfill
\subsection*{List Groups}
-\begin{keys}
+\begin{keys}{A m}
A a & (C-c C-a) List all groups whose names match a regexp (apropos).\\
A d & List all groups whose names or descriptions match a regexp.\\
A k & (C-c C-l) List all killed groups.\\
@@ -125,13 +152,13 @@ \subsection*{List Groups}
A s & (l) List groups with unread articles. [level]\\
A u & (L) List all groups. [If no prefix is given, level 7 is the
default]\\
-A z & List all zombie groups.\\
+A z & List the zombie groups.\\
A M & List groups that match a regexp.\\
\end{keys}
\subsection*{Create/Edit Foreign Groups}
The select methods are indicated in parentheses.\\*
-\begin{keys}
+\begin{keys}{G m}
G a & Make the Gnus list archive group. (nndir over ange-ftp)\\
G d & Make a directory group (every file must be a posting and files
must have numeric names). (nndir)\\
@@ -152,55 +179,37 @@ \subsection*{Create/Edit Foreign Groups}
nnmbox, nnbabyl, nnml, nnmh, or nnfolder. Read about it in the online info
(C-c C-i g Reading Mail RET).
-\subsubsection*{Soup Commands}
-\begin{keys}
-G s b & gnus-group-brew-soup: not documented.\\
-G s p & gnus-soup-pack-packet: not documented.\\
-G s r & nnsoup-pack-replies: not documented.\\
-G s s & gnus-soup-send-replies: not documented.\\
-G s w & gnus-soup-save-areas: not documented.\\
-\end{keys}
+%\subsubsection*{Soup Commands}
+%\begin{keys}{G s w}
+%G s b & gnus-group-brew-soup: not documented.\\
+%G s p & gnus-soup-pack-packet: not documented.\\
+%G s r & nnsoup-pack-replies: not documented.\\
+%G s s & gnus-soup-send-replies: not documented.\\
+%G s w & gnus-soup-save-areas: not documented.\\
+%\end{keys}
\subsection*{Mark Groups}
-\begin{keys}
+\begin{keys}{M m}
M m & (\#) Set the process mark on this group. [scope]\\
M u & (M-\#) Remove the process mark from this group. [scope]\\
M w & Mark all groups in the current region.\\
\end{keys}
\subsection*{Unsubscribe, Kill and Yank Groups}
-\begin{keys}
+\begin{keys}{S w}
S k & (C-k) Kill this group.\\
S l & Set the level of this group. [p/p]\\
-S s & (U) Prompt for a group and toggle its subscription (Unsubscribe).\\
-S t & (u) Toggle subscription to this group (unsubscribe). [p/p]\\
+S s & (U) Prompt for a group and toggle its subscription.\\
+S t & (u) Toggle subscription to this group. [p/p]\\
S w & (C-w) Kill all groups in the region.\\
S y & (C-y) Yank the last killed group.\\
S z & Kill all zombie groups.\\
\end{keys}
-\subsection*{Group Subscribedness Levels}
-\begin{tabular}{|r|c|l|}
-\hline
-1 & mail groups & \\
-2 & mail groups & \\
-3 & & subscribed \\
-4 & & \\
-5 & default list level & \\
-\hline
-6 & & \\
-7 & & unsubscribed \\
-\hline
-8 & & zombies \\
-\hline
-9 & & killed \\
-\hline
-\end{tabular}
-
-\pagebreak[4]
+\pagebreak
\section*{Summary and Article Modes}
-\begin{keys}
+\begin{keys}{RET}
SPC & (A SPC, A n) Select an article, scroll it one page, move to the
next one.\\
DEL & (A DEL, A p, b) Scroll this article one page back. [distance]\\
@@ -215,19 +224,19 @@ \section*{Summary and Article Modes}
\end{keys}
\subsection*{Article Buffer Commands}
-\begin{keys}
+\begin{keys}{A m}
A c & (C-c C-r) Do a Caesar rotate (rot13) on the article buffer.\\
A g & (g) (Re)fetch this article. [Prefix: just show the article.]\\
A m & Toggle MIME processing.\\
-A r & (^, A^) Go to the parent of this article (the References: header).\\
+A r & (^, A^) Go to the parent of this article (the References header).\\
A s & (s) Perform an isearch in the article buffer.\\
A t & (t) Toggle the displaying of all headers.\\
-A w & (w) Remove page breaks (`^L') from this article.\\
+A w & (w) Remove page breaks (^L) from this article.\\
\end{keys}
\subsection*{Mail-Group Commands}
-These commands (except the first one) are only valid in a mail group.\\*
-\begin{keys}
+These commands (B c) are only valid in a mail group.\\*
+\begin{keys}{B M-C-e}
B DEL & Delete the mail article from disk (!). [p/p]\\
B c & Copy this article from any group to a mail group. [p/p]\\
B e & Expire all expirable articles in this group. [p/p]\\
@@ -242,8 +251,8 @@ \subsection*{Mail-Group Commands}
\subsection*{Select Articles}
These commands select the target article. They do not understand the prefix.\\*
-\begin{keys}
-G b & (,) Go to the best article (the one with the highest score).\\
+\begin{keys}{G C-n}
+G b & (,) Go to the best article (the one with highest score).\\
G f & (.) Go to the first unread article.\\
G l & (l) Go to the last article read.\\
G n & (n) Go to the next unread article.\\
@@ -256,17 +265,17 @@ \subsection*{Select Articles}
\end{keys}
\subsection*{Help Commands}
-\begin{keys}
+\begin{keys}{H d}
H d & (C-c C-d) Describe this group. [Prefix: re-read the description
from the server.]\\
H f & Try to fetch the FAQ for this group using ange-ftp.\\
H h & Give a very short help message.\\
-H i & (C-c C-i) Go to the Gnus info node.\\
+H i & (C-c C-i) Go to the Gnus online info.\\
H v & Display the Gnus version number.\\
\end{keys}
-\subsection*{Article Thread Commands}
-\begin{keys}
+\subsection*{Thread Commands}
+\begin{keys}{T \#}
T \# & Mark this thread with the process mark.\\
T d & Move to the next article in this thread (down). [distance]\\
T h & Hide this (sub)thread.\\
@@ -276,22 +285,21 @@ \subsection*{Article Thread Commands}
T l & (M-C-l) Lower the score of this thread.\\
T n & Go to the next thread. [distance]\\
T p & Go to the previous thread. [distance]\\
-T s & Expose the thread hidden under this article, if any.\\
+T s & Show the thread hidden under this article.\\
T u & Move to the previous article in this thread (up). [distance]\\
T H & Hide all threads.\\
-T S & Expose all hidden threads.\\
+T S & Show all hidden threads.\\
T T & (M-C-t) Toggle threading.\\
\end{keys}
\subsection*{Mark Articles}
-\begin{keys}
+\begin{keys}{M M-C-r}
d & (M d, M r) Mark this article as read and move to the next one.
[scope]\\
D & Mark this article as read and move to the previous one. [scope]\\
-u & (!, M !, M t) Mark this article as interesting (tick it) and move
+u & (!, M !, M t) Tick this article (mark it as interesting) and move
to the next one. [scope]\\
-U & Mark this article as interesting and move to the previous one.
-[scope]\\
+U & Tick this article and move to the previous one. [scope]\\
M-u & (M SPC, M c) Clear all marks from this article and move to the next
one. [scope]\\
M-U & Clear all marks from this article and move to the previous one.
@@ -311,7 +319,7 @@ \subsection*{Mark Articles}
C-w & Mark all articles between point and mark as read.\\
M S & (C-c M-C-s) Show all expunged articles.\\
M C-c & Catchup all articles in this group.\\
-M M-r & (x) Expunge all read (deleted) articles from the summary buffer.\\
+M M-r & (x) Expunge all read articles from this group.\\
M M-D & Hide all dormant articles.\\
M M-C-r & Expunge all articles having a given mark.\\
\end{keys}
@@ -320,7 +328,7 @@ \subsubsection*{The Process Mark}
{\samepage These commands set and remove the process mark \#. You only need
to use it if the set of articles you want to operate on is
non-contiguous. Else use a numeric prefix.} \\*
-\begin{keys}
+\begin{keys}{M p R}
M p a & Mark all articles (in series order).\\
M p p & (\#, M \#) Mark this article.\\
M p r & Mark all articles in the region.\\
@@ -333,7 +341,7 @@ \subsubsection*{The Process Mark}
\end{keys}
\subsubsection*{Mark Based on Score}
-\begin{keys}
+\begin{keys}{M s m}
M s c & Clear all marks from all high-scored articles. [score]\\
M s k & Kill all low-scored articles. [score]\\
M s m & Mark all high-scored articles with a given mark. [score]\\
@@ -341,21 +349,21 @@ \subsubsection*{Mark Based on Score}
\end{keys}
\subsection*{Output Articles}
-\begin{keys}
+\begin{keys}{O m}
O f & Save this article in plain file format. [p/p]\\
O h & Save this article in mh folder format. [p/p]\\
O m & Save this article in mail format. [p/p]\\
O o & (o) Save this article using the default article saver. [p/p]\\
-O p & (\Bar) Pipe this article to a shell command. [p/p]\\
+O p & ($\mid$) Pipe this article to a shell command. [p/p]\\
O r & Save this article in rmail format. [p/p]\\
O v & Save this article in vm format. [p/p]\\
\end{keys}
\subsection*{Wash the Article Buffer}
-\begin{keys}
-W a & Hide unwanted parts of the article. Calls W h, W C-c, W s.\\
-W b & Make external references in the article (Message-Ids and URLs) to
-buttons.\\
+\begin{keys}{W C-c}
+W a & Hide unwanted parts of the article. Calls W h, W s, W C-c.\\
+W b & Make external references in the article (Message-IDs and URLs) to
+mouse-clickable buttons.\\
W c & Hide article citation.\\
W d & Remove extra CRs from the article.\\
W f & Look for and display any X-Face headers.\\
@@ -365,21 +373,22 @@ \subsection*{Wash the Article Buffer}
W s & Hide article signature.\\
W t & Convert the article timestamp to UTC (GMT).\\
W w & Do word wrap in the article.\\
-W A & Highlight this article. Calls W H, W C, W S, W b.\\
+W A & Highlight this article. Calls W b, W C, W H, W S.\\
W C & Highlight article citation.\\
W H & Highlight article headers.\\
W S & Highlight article signature.\\
-W T & Convert the article timestamp to time lapsed since it was sent.\\
+W T & Convert the article timestamp to time lapsed since sent.\\
W C-c & Hide article citation using a more intelligent algorithm.\\
+W C-t & Convert the article timestamp to the local timezone.\\
\end{keys}
-\subsection*{Followup, Reply, Forward, Cancel}
+\subsection*{Post, Followup, Reply, Forward, Cancel}
\samepage{These commands put you in a separate post or mail buffer. After
editing the article, send it by pressing C-c C-c. If you are in a
foreign group and want to post the article using the foreign server, give
a prefix to C-c C-c.} \\*
-\begin{keys}
-S b & Post a followup to this article and send a reply.\\
+\begin{keys}{S O m}
+S b & Both post a followup to this article, and send a reply.\\
S c & (C) Cancel this article (only works if it is your own).\\
S f & (f) Post a followup to this article.\\
S m & (m) Send a mail to some other person.\\
@@ -400,35 +409,35 @@ \subsection*{Followup, Reply, Forward, Cancel}
`Message-ID' to `Cancel' or `Supersedes' and send it again with C-c C-c.
\subsection*{Extract Series (Uudecode etc)}
-Gnus will recognize when the current article is part of a series (multipart
-posting whose parts are identified by numbers in their subjects, e.g.\
-1/10\dots10/10) and will process the series accordingly. You can mark more
-than one series. If the posting contains any archives, they are expanded
-and gathered in a new group.\\*
-\begin{keys}
+Gnus recognizes if the current article is part of a series (multipart
+posting whose parts are identified by numbers in their subjects, e.g.{}
+1/10\dots10/10) and processes the series accordingly. You can mark and
+process more than one series at a time. If the posting contains any
+archives, they are expanded and gathered in a new group.\\*
+\begin{keys}{X p}
X b & Un-{\bf b}inhex these series. [p/p]\\
-X o & Simply {\bf o}output these series (no decoding). [p/p]\\
+X o & Simply {\bf o}utput these series (no decoding). [p/p]\\
X p & Unpack these {\bf p}ostscript series. [p/p]\\
X s & Un-{\bf s}har these series. [p/p]\\
X u & {\bf U}udecode these series. [p/p]\\
\end{keys}
Each one of these commands has four variants:\\*
-\begin{keys}
+\begin{keys}{X v \bf Z}
X \bf z & Decode these series. [p/p]\\
-X v \bf z & Decode and view these series. [p/p]\\
X \bf Z & Decode and save these series. [p/p]\\
+X v \bf z & Decode and view these series. [p/p]\\
X v \bf Z & Decode, save and view these series. [p/p]\\
\end{keys}
-where {\bf z} identifies the decoding method (b, o ,p ,s, u).
+where {\bf z} or {\bf Z} identifies the decoding method (b, o, p, s, u).
An alternative binding for the most-often used of these commands is\\*
-\begin{keys}
+\begin{keys}{C-c C-v C-v}
C-c C-v C-v & (X v u) Uudecode and view these series. [p/p]\\
\end{keys}
\subsection*{Exit the Current Group}
-\begin{keys}
+\begin{keys}{Z G}
Z c & (c) Mark all unticked articles as read and exit.\\
Z n & Mark all articles as read and go to the next group.\\
Z C & Mark all articles as read and exit.\\
@@ -442,7 +451,7 @@ \subsection*{Exit the Current Group}
\end{keys}
\subsection*{Various Group Commands}
-\begin{keys}
+\begin{keys}{V C-r}
V \& & (\&) Execute a command on all articles matching a regexp.
[Prefix: move backwards.]\\
V e & (=) Expand the Summary window. [Prefix: shrink it to display the
@@ -450,7 +459,7 @@ \subsection*{Various Group Commands}
V k & (M-k) Edit this group's kill file.\\
V r & (M-^) Fetch the article with a given Message-ID.\\
V u & Execute a command on all articles having the process mark.\\
-V D & Undigestify this article into a separate group.\\
+V D & (C-d) Undigestify this article into a separate group.\\
V K & (M-K) Edit the general kill file.\\
V T & (C-t) Toggle truncation of summary lines.\\
V C-r & Search through all previous articles for a regexp.\\
@@ -458,7 +467,7 @@ \subsection*{Various Group Commands}
\end{keys}
\subsubsection*{Sort the Summary Buffer}
-\begin{keys}
+\begin{keys}{V s n}
V s a & (C-c C-s C-a) Sort the summary by author.\\
V s d & (C-c C-s C-d) Sort the summary by date.\\
V s i & (C-c C-s C-i) Sort the summary by article score.\\
@@ -466,9 +475,10 @@ \subsubsection*{Sort the Summary Buffer}
V s s & (C-c C-s C-s) Sort the summary by subject.\\
\end{keys}
-\subsubsection*{Article Score Commands}
+\subsubsection*{Score Commands}
+Read about Adaptive Scoring in the online info.
\newcommand{\B}[1]{{\bf#1})} % bold l)etter
-\begin{keys}
+\begin{keys}{\bf A p m l}
V S a & Add a new score entry, specifying all elements.\\
V S c & Specify a new score file as current.\\
V S e & Edit the current score alist.\\
@@ -477,7 +487,7 @@ \subsubsection*{Article Score Commands}
V S s & Set the score of this article.\\
V S t & Display all score rules applied to this article.\\
V S x & Expunge all low-scored articles. [score]\\
-V S C & gnus-score-customize: not documented.\\
+V S C & Customize the current score file through a user-friendly interface.\\
V S S & Display the score of this article.\\
\bf A p m l& Make a scoring entry based on this article.\\
\end{keys}
@@ -499,7 +509,7 @@ \subsubsection*{Article Score Commands}
t)emporary.
\quad Extra keys for manual editing of a score file:\\*
-\begin{keys}
+\begin{keys}{C-c C-c}
C-c C-c & Finish editing the score file.\\
C-c C-d & Insert the current date as number of days.\\
\end{keys}
@@ -509,41 +519,44 @@ \section*{Article Mode}
All keys for Summary mode also work in Article mode.
The normal navigation keys work in Article mode.
Some additional keys are:\\*
-\begin{keys}
-C-c ^ & Get the article with the Message-Id near point.\\
+\begin{keys}{C-c C-m}
+RET & (mouse-2 (middle button)) Activate the button at point (to follow
+an URL etc).\\
+TAB & Move the point to the next button.\\
+C-c ^ & Get the article with the Message-ID near point.\\
C-c C-m & Send reply to the address near point and include the original.\\
h & Go to the header line of the article in the summary buffer.\\
\end{keys}
\section*{Server Mode}
To enter this mode, press `^' while in Group mode.\\*
-\begin{keys}
-SPC & Browse this server.\\
-q & Return to the group buffer.\\
-l & List all servers.\\
-k & Kill this server. [scope]\\
-y & Yank the previously killed server.\\
-c & Copy this server.\\
+\begin{keys}{SPC}
+SPC & (RET) Browse this server.\\
a & Add a new server.\\
+c & Copy this server.\\
e & Edit a server.\\
+k & Kill this server. [scope]\\
+l & List all servers.\\
+q & Return to the group buffer.\\
+y & Yank the previously killed server.\\
\end{keys}
\section*{Browse Server Mode}
To enter this mode, press `B' while in Group mode.\\*
-\begin{keys}
+\begin{keys}{RET}
RET & Enter the current group.\\
SPC & Enter the current group and display the first article.\\
? & Give a very short help message.\\
-l & Exit browse mode.\\
n & Go to the next group. [distance]\\
p & Go to the previous group. [distance]\\
-q & Exit browse mode.\\
+q & (l) Exit browse mode.\\
u & Subscribe to the current group. [scope]\\
\end{keys}
-\begin{center}\samepage
+\vfill\samepage
+\begin{center}
Copyright \copyright\ 1987 Free Software Foundation, Inc.\\*
-Copyright \copyright\ 1995 Vladimir Alexiev $<$vladimir@cs.ualberta.ca$>$.\\*
+Copyright \copyright\ 1995 \author.\\*
Created from the Gnus manual Copyright \copyright\ 1994 Lars Magne
Ingebrigtsen.\\*
and the Emacs Help Bindings feature (C-h b).\\*
@@ -553,7 +566,7 @@ \section*{Browse Server Mode}
provided the copyright notice and this permission are preserved on all
copies.
Please send corrections, additions and suggestions to the above email
-address. \hfill 26 July 1995
+address. Refcard version \refver. \hfill \date
\end{document}
Please sign in to comment.
Something went wrong with that request. Please try again.