+2001-12-12 Didier Verna <didier@xemacs.org>
+
+ * gnus-msg.el (gnus-group-news): New function.
+ * gnus-group.el (gnus-group-mode-map): bind it to `i'.
+ * gnus-group.el (gnus-group-make-menu-bar): add a menu item for it.
+ * gnus-salt.el (gnus-carpal-group-buffer-buttons): add a button
+ for it.
+ * gnus-msg.el (gnus-summary-news-other-window): New function.
+ * gnus-msg.el ((gnus-summary-send-map "S" gnus-summary-mode-map)):
+ bind it to `i'.
+ * gnus-sum.el (gnus-summary-mode-map): bind it to `i'.
+ * gnus-sum.el (gnus-summary-make-menu-bar): add a menu item for it.
+ * gnus-salt.el (gnus-carpal-summary-buffer-buttons): add a button
+ for it (called with a prefix).
+ * gnus-msg.el (gnus-configure-posting-styles): add an optional
+ group-name argument.
+ * gnus-msg.el (gnus-setup-message): use it.
+
2001-12-12 00:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus-sum.el (gnus-summary-show-article): Fix doc.
* gnus-sum.el (gnus-summary-print-truncate-and-quote): New.
(gnus-summary-print-article): Use it.
-
+
* gnus-util.el (gnus-replace-in-string): Typo.
2001-12-06 10:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* dgnushack.el (dgnushack-compile): nnrss.el and
nnslashdot.el don't depend on nnweb, url, w3.
- * nnrss.el: Use mm-url.
+ * nnrss.el: Use mm-url.
2001-12-06 00:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
2001-12-05 12:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
- * gnus-group.el (gnus-group-find-new-groups): Fix doc.
+ * gnus-group.el (gnus-group-find-new-groups): Fix doc.
From: Stefan Monnier <monnier@cs.yale.edu>
2001-12-05 Katsumi Yamaoka <yamaoka@jpl.org>
* message.el (message-make-mft): Fix the m-s-a-file regexp.
From Paul Jarc <prj@po.cwru.edu>.
-
+
2001-11-30 21:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* message.el: New variable message-subscribed-address-file;
* message.el (message-tab-body-function): Set to nil.
(message-tab): Use text-mode-map or global-map.
Suggested by Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>.
-
+
2001-11-30 Simon Josefsson <jas@extundo.com>
* gnus-agent.el (gnus-agent-fetch-headers): Use gnus-range-add
"l" gnus-group-list-groups
"L" gnus-group-list-all-groups
"m" gnus-group-mail
+ "i" gnus-group-news
"g" gnus-group-get-new-news
"\M-g" gnus-group-get-new-news-this-group
"R" gnus-group-restart
["Save areas" gnus-soup-save-areas (fboundp 'gnus-soup-pack-packet)]
["Brew SOUP" gnus-group-brew-soup (fboundp 'gnus-soup-pack-packet)])
["Send a mail" gnus-group-mail t]
- ["Post an article..." gnus-group-post-news t]
+ ["Send a message (mail or news)" gnus-group-post-news t]
+ ["Create a local message" gnus-group-news t]
["Check for new news" gnus-group-get-new-news
,@(if (featurep 'xemacs) '(t)
'(:help "Get newly arrived articles"))
(gnus-define-keys (gnus-summary-send-map "S" gnus-summary-mode-map)
"p" gnus-summary-post-news
+ "i" gnus-summary-news-other-window
"f" gnus-summary-followup
"F" gnus-summary-followup-with-original
"c" gnus-summary-cancel-article
(setq mml-buffer-list nil)
(add-hook 'message-header-setup-hook 'gnus-inews-insert-gcc)
(add-hook 'message-header-setup-hook 'gnus-inews-insert-archive-gcc)
- (add-hook 'message-mode-hook 'gnus-configure-posting-styles)
+ ;; #### FIXME: for a reason that I did not manage to identify yet,
+ ;; the variable `gnus-newsgroup-name' does not honor a dynamically
+ ;; scoped or setq'ed value from a caller like `C-u gnus-summary-mail'.
+ ;; After evaluation of @forms below, it gets the value we actually want
+ ;; to override, and the posting styles are used. For that reason, I've
+ ;; added an optional argument to `gnus-configure-posting-styles' to
+ ;; make sure that the correct value for the group name is used. -- drv
+ (add-hook 'message-mode-hook
+ (lambda ()
+ (gnus-configure-posting-styles ,group)))
(unwind-protect
(progn
,@forms)
(gnus-read-active-file-p))
(gnus-group-group-name))
""))
+ ;; #### see comment in gnus-setup-message -- drv
(gnus-setup-message 'message (message-mail)))
(save-excursion
(set-buffer buffer)
(setq gnus-newsgroup-name group)))))
+(defun gnus-group-news (&optional arg)
+ "Start composing a news.
+If ARG, post to group under point.
+If ARG is 1, prompt for group name to post to.
+
+This function prepares a news even when using mail groups. This is useful
+for posting messages to mail groups without actually sending them over the
+network. The corresponding backend must have a 'request-post method."
+ (interactive "P")
+ ;; We can't `let' gnus-newsgroup-name here, since that leads
+ ;; to local variables leaking.
+ (let ((group gnus-newsgroup-name)
+ (buffer (current-buffer)))
+ (unwind-protect
+ (progn
+ (setq gnus-newsgroup-name
+ (if arg
+ (if (= 1 (prefix-numeric-value arg))
+ (completing-read "Use group: "
+ gnus-active-hashtb nil
+ (gnus-read-active-file-p))
+ (gnus-group-group-name))
+ ""))
+ ;; #### see comment in gnus-setup-message -- drv
+ (gnus-setup-message 'message
+ (message-news (gnus-group-real-name gnus-newsgroup-name))))
+ (save-excursion
+ (set-buffer buffer)
+ (setq gnus-newsgroup-name group)))))
+
(defun gnus-group-post-news (&optional arg)
- "Start composing a news message.
-If ARG, post to the group under point.
-If ARG is 1, prompt for a group name."
+ "Start composing a message (a news by default).
+If ARG, post to group under point. If ARG is 1, prompt for group name.
+Depending on the selected group, the message might be either a mail or
+a news."
(interactive "P")
;; Bind this variable here to make message mode hooks work ok.
(let ((gnus-newsgroup-name
"")))
(gnus-post-news 'post gnus-newsgroup-name)))
-(defun gnus-summary-post-news ()
- "Start composing a news message."
- (interactive)
- (gnus-post-news 'post gnus-newsgroup-name))
+(defun gnus-summary-mail-other-window (&optional arg)
+ "Start composing a mail in another window.
+Use the posting of the current group by default.
+If ARG, don't do that. If ARG is 1, prompt for group name to find the
+posting style."
+ (interactive "P")
+ ;; We can't `let' gnus-newsgroup-name here, since that leads
+ ;; to local variables leaking.
+ (let ((group gnus-newsgroup-name)
+ (buffer (current-buffer)))
+ (unwind-protect
+ (progn
+ (setq gnus-newsgroup-name
+ (if arg
+ (if (= 1 (prefix-numeric-value arg))
+ (completing-read "Use group: "
+ gnus-active-hashtb nil
+ (gnus-read-active-file-p))
+ "")
+ gnus-newsgroup-name))
+ ;; #### see comment in gnus-setup-message -- drv
+ (gnus-setup-message 'message (message-mail)))
+ (save-excursion
+ (set-buffer buffer)
+ (setq gnus-newsgroup-name group)))))
+
+(defun gnus-summary-news-other-window (&optional arg)
+ "Start composing a news in another window.
+Post to the current group by default.
+If ARG, don't do that. If ARG is 1, prompt for group name to post to.
+
+This function prepares a news even when using mail groups. This is useful
+for posting messages to mail groups without actually sending them over the
+network. The corresponding backend must have a 'request-post method."
+ (interactive "P")
+ ;; We can't `let' gnus-newsgroup-name here, since that leads
+ ;; to local variables leaking.
+ (let ((group gnus-newsgroup-name)
+ (buffer (current-buffer)))
+ (unwind-protect
+ (progn
+ (setq gnus-newsgroup-name
+ (if arg
+ (if (= 1 (prefix-numeric-value arg))
+ (completing-read "Use group: "
+ gnus-active-hashtb nil
+ (gnus-read-active-file-p))
+ "")
+ gnus-newsgroup-name))
+ ;; #### see comment in gnus-setup-message -- drv
+ (gnus-setup-message 'message
+ (message-news (gnus-group-real-name gnus-newsgroup-name))))
+ (save-excursion
+ (set-buffer buffer)
+ (setq gnus-newsgroup-name group)))))
+
+(defun gnus-summary-post-news (&optional arg)
+ "Start composing a message. Post to the current group by default.
+If ARG, don't do that. If ARG is 1, prompt for a group name to post to.
+Depending on the selected group, the message might be either a mail or
+a news."
+ (interactive "P")
+ ;; Bind this variable here to make message mode hooks work ok.
+ (let ((gnus-newsgroup-name
+ (if arg
+ (if (= 1 (prefix-numeric-value arg))
+ (completing-read "Newsgroup: " gnus-active-hashtb nil
+ (gnus-read-active-file-p))
+ "")
+ gnus-newsgroup-name)))
+ (gnus-post-news 'post gnus-newsgroup-name)))
+
(defun gnus-summary-followup (yank &optional force-news)
"Compose a followup to an article.
(insert-buffer-substring gnus-original-article-buffer beg end)
;; Decode charsets.
(let ((gnus-article-decode-hook
- (delq 'article-decode-charset
+ (delq 'article-decode-charset
(copy-sequence gnus-article-decode-hook))))
(run-hooks 'gnus-article-decode-hook)))))
gnus-article-copy)))
(or (and (listp gnus-post-method) ;If not current/native/nil
(not (listp (car gnus-post-method))) ; and not a list of methods
gnus-post-method) ;then use it.
- gnus-select-method
+ gnus-select-method
message-post-method))
;; We want the inverse of the default
((and arg (not (eq arg 0)))
(when (gnus-y-or-n-p "Send this complaint? ")
(message-send-and-exit)))))))
-(defun gnus-summary-mail-other-window ()
- "Compose mail in other window."
- (interactive)
- (gnus-setup-message 'message
- (message-mail)))
-
(defun gnus-mail-parse-comma-list ()
(let (accumulated
beg)
;; BUG: We really need to get the charset for
;; each name in the Newsgroups and Followup-To
;; lines to allow crossposting between group
- ;; namess with incompatible character sets.
+ ;; namess with incompatible character sets.
;; -- Per Abrahamsen <abraham@dina.kvl.dk> 2001-10-08.
(group-field-charset
(gnus-group-name-charset
method (or newsgroups-field "")))
- (followup-field-charset
+ (followup-field-charset
(gnus-group-name-charset
method (or followup-field "")))
(rfc2047-header-encoding-alist
;;; Posting styles.
-(defun gnus-configure-posting-styles ()
+(defun gnus-configure-posting-styles (&optional group-name)
"Configure posting styles according to `gnus-posting-styles'."
(unless gnus-inhibit-posting-styles
- (let ((group (or gnus-newsgroup-name ""))
+ (let ((group (or group-name gnus-newsgroup-name ""))
(styles gnus-posting-styles)
style match variable attribute value v results
filep name address element)
(let ((value ,(cdr result)))
(when value
(message-goto-eoh)
- (insert ,header ": " value "\n"))))))))
+ (insert ,header ": " value "\n"))))))))
nil 'local))
(when (or name address)
(add-hook 'message-setup-hook
("matching" . gnus-group-list-matching)
("post" . gnus-group-post-news)
("mail" . gnus-group-mail)
+ ("local" . (lambda () (interactive) (gnus-group-news 0)))
("rescan" . gnus-group-get-new-news)
("browse-foreign" . gnus-group-browse-foreign)
("exit" . gnus-group-exit)))
("kill" . gnus-summary-kill-thread)
"post"
("post" . gnus-summary-post-news)
- ("mail" . gnus-summary-mail)
+ ("local" . gnus-summary-news-other-window)
+ ("mail" . gnus-summary-mail-other-window)
("followup" . gnus-summary-followup-with-original)
("reply" . gnus-summary-reply-with-original)
("cancel" . gnus-summary-cancel-article)
(?u gnus-tmp-user-defined ?s)
(?P (gnus-pick-line-number) ?d)
(?B gnus-tmp-thread-tree-header-string ?s)
- (user-date (gnus-user-date
+ (user-date (gnus-user-date
,(macroexpand '(mail-header-date gnus-tmp-header))) ?s))
"An alist of format specifications that can appear in summary lines.
These are paired with what variables they correspond with, along with
while still allowing them to affect operations done in other
buffers. For example:
-(setq gnus-newsgroup-variables
+(setq gnus-newsgroup-variables
'(message-use-followup-to
- (gnus-visible-headers .
+ (gnus-visible-headers .
\"^From:\\\\|^Newsgroups:\\\\|^Subject:\\\\|^Date:\\\\|^To:\")))
")
gnus-mouse-2 gnus-mouse-pick-article
"m" gnus-summary-mail-other-window
"a" gnus-summary-post-news
+ "i" gnus-summary-news-other-window
"x" gnus-summary-limit-to-unread
"s" gnus-summary-isearch-article
"t" gnus-summary-toggle-header
(easy-menu-define
gnus-summary-post-menu gnus-summary-mode-map ""
`("Post"
- ["Post an article" gnus-summary-post-news
+ ["Send a message (mail or news)" gnus-summary-post-news
,@(if (featurep 'xemacs) '(t)
'(:help "Post an article"))]
["Followup" gnus-summary-followup
["Resend message" gnus-summary-resend-message t]
["Send bounced mail" gnus-summary-resend-bounced-mail t]
["Send a mail" gnus-summary-mail-other-window t]
+ ["Create a local message" gnus-summary-news-other-window t]
["Uuencode and post" gnus-uu-post-news
,@(if (featurep 'xemacs) '(t)
'(:help "Post a uuencoded article"))]
(1+ (match-beginning 0)) (1- (match-end 0))))
(t gnus-tmp-from))
gnus-tmp-thread-tree-header-string
- (cond
+ (cond
((not gnus-show-threads) "")
((zerop gnus-tmp-level)
- (if (cdar thread)
+ (if (cdar thread)
(or gnus-sum-thread-tree-root subject)
(or gnus-sum-thread-tree-single-indent subject)))
(t
(concat (apply 'concat
- (mapcar (lambda (item)
- (if (= item 1)
+ (mapcar (lambda (item)
+ (if (= item 1)
gnus-sum-thread-tree-vertical
gnus-sum-thread-tree-indent))
(cdr (reverse tree-stack))))
- (if (nth 1 thread)
+ (if (nth 1 thread)
gnus-sum-thread-tree-leaf-with-other
gnus-sum-thread-tree-single-leaf)))))
(when (string= gnus-tmp-name "")
(setq gnus-newsgroup-name group
gnus-newsgroup-unselected nil
gnus-newsgroup-unreads (gnus-list-of-unread-articles group))
-
+
(let ((display (gnus-group-find-parameter group 'display)))
(setq gnus-newsgroup-display
(cond
nil)
(t
nil))))
-
+
(gnus-summary-setup-default-charset)
;; Kludge to avoid having cached articles nixed out in virtual groups.
;; Adjust and set lists of article marks.
(when info
(gnus-adjust-marked-articles info))
-
+
(if (setq articles select-articles)
(setq gnus-newsgroup-unselected
(gnus-sorted-intersection
(setq list (cdr all)))))
(when (eq (cdr type) 'seen)
- (setq list
+ (setq list
(if list
(gnus-add-to-range list gnus-newsgroup-unseen)
(gnus-compress-sequence gnus-newsgroup-articles))))
(defun gnus-summary-limit-to-subject (subject &optional header not-matching)
"Limit the summary buffer to articles that have subjects that match a regexp.
If NOT-MATCHING, excluding articles that have subjects that match a regexp."
- (interactive
+ (interactive
(list (read-string (if current-prefix-arg
"Exclude subject (regexp): "
- "Limit to subject (regexp): "))
+ "Limit to subject (regexp): "))
nil current-prefix-arg))
(unless header
(setq header "subject"))
(when (not (equal "" subject))
(prog1
(let ((articles (gnus-summary-find-matching
- (or header "subject") subject 'all nil nil
+ (or header "subject") subject 'all nil nil
not-matching)))
(unless articles
(error "Found no matches for \"%s\"" subject))
(defun gnus-summary-limit-to-author (from &optional not-matching)
"Limit the summary buffer to articles that have authors that match a regexp.
If NOT-MATCHING, excluding articles that have authors that match a regexp."
- (interactive
+ (interactive
(list (read-string (if current-prefix-arg
"Exclude author (regexp): "
- "Limit to author (regexp): "))
+ "Limit to author (regexp): "))
current-prefix-arg))
(gnus-summary-limit-to-subject from "from" not-matching))
nil
t))))
(list header
- (read-string (format "%s header %s (regexp): "
+ (read-string (format "%s header %s (regexp): "
(if current-prefix-arg "Exclude" "Limit to")
header))
current-prefix-arg)))
(when (not (equal "" regexp))
(prog1
(let ((articles (gnus-summary-find-matching
- (cons 'extra header) regexp 'all nil nil
+ (cons 'extra header) regexp 'all nil nil
not-matching)))
(unless articles
(error "Found no matches for \"%s\"" regexp))
BACKWARD is non-nil. If BACKWARD is `all', do all articles.
If UNREAD is non-nil, only unread articles will
be taken into consideration. If NOT-CASE-FOLD, case won't be folded
-in the comparisons. If NOT-MATCHING, return a list of all articles that
+in the comparisons. If NOT-MATCHING, return a list of all articles that
not match REGEXP on HEADER."
(let ((case-fold-search (not not-case-fold))
articles d func)
(gnus-data-unread-p d)) ; Or just unreads.
(vectorp (gnus-data-header d)) ; It's not a pseudo.
(if not-matching
- (not (string-match
+ (not (string-match
regexp
(funcall func (gnus-data-header d))))
(string-match regexp
(defun gnus-summary-print-truncate-and-quote (string &optional len)
"Truncate to LEN and quote all \"(\"'s in STRING."
(gnus-replace-in-string (if (and len (> (length string) len))
- (substring string 0 len)
+ (substring string 0 len)
string)
"[()]" "\\\\\\&"))
(list
(concat "("
(gnus-summary-print-truncate-and-quote
- (mail-header-subject gnus-current-headers)
+ (mail-header-subject gnus-current-headers)
66) ")")
(concat "("
(gnus-summary-print-truncate-and-quote
- (mail-header-from gnus-current-headers)
+ (mail-header-from gnus-current-headers)
45) ")")))
(ps-right-header
(list
;; `download' is a agent flag private to each gnus installation
;; `unsend' are for nndraft groups only
;; `score' is not a proper mark
-(defconst gnus-article-unpropagated-mark-lists
+(defconst gnus-article-unpropagated-mark-lists
'(seen cache download unsend score)
"Marks that shouldn't be propagated to backends.
Typical marks are those that make no sense in a standalone backend,
("gnus-msg" (gnus-summary-send-map keymap)
gnus-article-mail gnus-copy-article-buffer gnus-extended-version)
("gnus-msg" :interactive t
- gnus-group-post-news gnus-group-mail gnus-summary-post-news
+ gnus-group-post-news gnus-group-mail gnus-group-news
+ gnus-summary-post-news gnus-summary-news-other-window
gnus-summary-followup gnus-summary-followup-with-original
gnus-summary-cancel-article gnus-summary-supersede-article
gnus-post-news gnus-summary-reply gnus-summary-reply-with-original
(defun gnus-group-fast-parameter (group symbol &optional allow-list)
"For GROUP, return the value of SYMBOL.
-You should call this in the `gnus-group-buffer' buffer.
+You should call this in the `gnus-group-buffer' buffer.
The function `gnus-group-find-parameter' will do that for you."
;; The speed trick: No cons'ing and quit early.
(or (let ((params (funcall gnus-group-get-parameter-function group)))
;; The car is regexp matching for matching the group name.
(when (string-match (car head) group)
;; The cdr is the parameters.
- (setq result (gnus-group-parameter-value (cdr head)
+ (setq result (gnus-group-parameter-value (cdr head)
symbol allow-list))
(when result
;; Expand if necessary.
+2001-12-12 Didier Verna <didier@lrde.epita.fr>
+
+ * gnus.texi (Misc Group Stuff): advertise `gnus-group-news'.
+ * gnus.texi (Summary Mail Commands): advertise
+ `gnus-summary-news-other-window'.
+
2001-12-10 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
* gnus.texi (Advanced Scoring Examples): Clarify that the
2001-11-12 Simon Josefsson <jas@extundo.com>
* gnus.texi (Security, Using GPG):
- * message.texi (Security):
+ * message.texi (Security):
* emacs-mime.texi (MML Definition): Add PGP.
2001-11-09 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
* Makefile.in: Add sieve.
- * gnus.texi (Misc Group Stuff):
+ * gnus.texi (Misc Group Stuff):
(Group Parameters): Add Sieve Commands.
(top-level): Include Sieve manual after Emacs MIME.
* gnus.texi (NNTP): Added documentation for
`nntp-prepare-post-hook'.
-
+
2001-10-29 Simon Josefsson <jas@extundo.com>
* gnus.texi (Customizing Articles): Sort list. Remove
users.
2001-10-17 21:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
-
+
* gnus.texi (Archived Messages): Add new line after @item.
From: Jesper Harder <harder@ifa.au.dk>
-
+
2001-10-17 21:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus.texi (Formatting Basics): Extended format specs.
* gnuslogo-refcard.eps: Rename from gnuslog.refcard, and set a
suitable bounding box.
-
+
* Makefile.in (.dvi.ps): New rule.
(refcard.pdf): Use gnuslogo-refcard.eps.
* infohack.el (infohack-remove-unsupported): Remove @iflatex lines.
(infohack): Specify a coding-system to save info files.
From Katsumi Yamaoka <yamaoka@jpl.org>
-
+
2001-09-28 00:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnusconfig.tex.in: Use cmss if pfu is not found.
* gnus.texi: eps path fix.
* postamble.tex: Ditto.
* texi2latex.el: Ditto.
-
+
* Makefile.in: Move some to ps/Makefile.in.
-
+
2001-09-24 Simon Josefsson <jas@extundo.com>
* etc/*, herds/*, misc/*, picons/*, screen/*, smilies/*, xface/*:
2001-08-17 14:24:14 Lars Magne Ingebrigtsen <larsi@gnus.org>
- * gnus.texi (Group Parameters): Document regexp substitution.
+ * gnus.texi (Group Parameters): Document regexp substitution.
(Group Parameters): Addition.
2001-08-11 23:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
* gnus.texi (Fancy Mail Splitting): New variable
nnmail-split-fancy-with-parent-ignore-groups
-
+
2001-07-24 Kai Gro\e,A_\e(Bjohann <Kai.Grossjohann@CS.Uni-Dortmund.DE>
* gnus.texi (Duplicates): Make split method regexp more specific,
This file documents Gnus, the GNU Emacs newsreader.
-Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001
+Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
* Choosing Articles:: Reading articles.
* Paging the Article:: Scrolling the current article.
* Reply Followup and Post:: Posting articles.
-* Delayed Articles::
+* Delayed Articles::
* Marking Articles:: Marking articles as read, expirable, etc.
* Limiting:: You can limit the summary buffer.
* Threading:: How threads are made.
* Summary Mail Commands:: Sending mail.
* Summary Post Commands:: Sending news.
* Summary Message Commands:: Other Message-related commands.
-* Canceling and Superseding::
+* Canceling and Superseding::
Marking Articles
* Unread Articles:: Marks for unread articles.
* Read Articles:: Marks for read articles.
* Other Marks:: Marks that do not affect readedness.
-* Setting Marks::
-* Generic Marking Commands::
-* Setting Process Marks::
+* Setting Marks::
+* Generic Marking Commands::
+* Setting Process Marks::
Marking Articles
* Summary Group Information:: Information oriented commands.
* Searching for Articles:: Multiple article commands.
-* Summary Generation Commands::
+* Summary Generation Commands::
* Really Various Summary Commands:: Those pesky non-conformant commands.
Article Buffer
Agent Commands
-* Group Agent Commands::
-* Summary Agent Commands::
-* Server Agent Commands::
+* Group Agent Commands::
+* Summary Agent Commands::
+* Server Agent Commands::
Scoring
The @code{display} parameter works by limiting the summary buffer to
the subset specified. You can pop the limit by using the @kbd{/ w}
-command (@pxref{Limiting}).
+command (@pxref{Limiting}).
@item comment
@cindex comment
@item a
@kindex a (Group)
@findex gnus-group-post-news
-Post an article to a group (@code{gnus-group-post-news}). If given a
-prefix, the current group name will be used as the default.
-@xref{Composing Messages}.
+Start composing a message (a news by default)
+(@code{gnus-group-post-news}). If given a prefix, post to the group
+under the point. If the prefix is 1, prompt for a group to post to.
+Contrary to what the name of this function suggests, the prepared
+article might be a mail instead of a news, if a mail group is specified
+with the prefix argument. @xref{Composing Messages}.
@item m
@kindex m (Group)
@findex gnus-group-mail
-Mail a message somewhere (@code{gnus-group-mail}). @xref{Composing Messages}.
+Mail a message somewhere (@code{gnus-group-mail}). If given a prefix,
+use the posting style of the group under the point. If the prefix is 1,
+prompt for a group name to find the posting style.
+@xref{Composing Messages}.
+
+@item i
+@kindex i (Group)
+@findex gnus-group-news
+Start composing a news (@code{gnus-group-news}). If given a prefix,
+post to the group under the point. If the prefix is 1, prompt
+for group to post to. @xref{Composing Messages}.
+
+This function actually prepares a news even when using mail groups.
+This is useful for "posting" messages to mail groups without actually
+sending them over the network: they're just saved directly to the group
+in question. The corresponding backend must have a request-post method
+for this to work though.
@end table
* Choosing Articles:: Reading articles.
* Paging the Article:: Scrolling the current article.
* Reply Followup and Post:: Posting articles.
-* Delayed Articles::
+* Delayed Articles::
* Marking Articles:: Marking articles as read, expirable, etc.
* Limiting:: You can limit the summary buffer.
* Threading:: How threads are made.
* Summary Mail Commands:: Sending mail.
* Summary Post Commands:: Sending news.
* Summary Message Commands:: Other Message-related commands.
-* Canceling and Superseding::
+* Canceling and Superseding::
@end menu
@kindex S m (Summary)
@findex gnus-summary-mail-other-window
@c @icon{gnus-summary-mail-originate}
-Send a mail to some other person
-(@code{gnus-summary-mail-other-window}).
+Prepare a mail (@code{gnus-summary-mail-other-window}). By default, use
+the posting style of the current group. If given a prefix, disable that.
+If the prefix is 1, prompt for a group name to find the posting style.
+
+@item S i
+@itemx i
+@kindex i (Summary)
+@kindex S i (Summary)
+@findex gnus-summary-news-other-window
+Prepare a news (@code{gnus-summary-news-other-window}). By default,
+post to the current group. If given a prefix, disable that. If the
+prefix is 1, prompt for a group to post to.
+
+This function actually prepares a news even when using mail groups.
+This is useful for "posting" messages to mail groups without actually
+sending them over the network: they're just saved directly to the group
+in question. The corresponding backend must have a request-post method
+for this to work though.
@item S D b
@kindex S D b (Summary)
@kindex S p (Summary)
@findex gnus-summary-post-news
@c @icon{gnus-summary-post-news}
-Post an article to the current group
-(@code{gnus-summary-post-news}).
+Prepare for posting an article (@code{gnus-summary-post-news}). By
+default, post to the current group. If given a prefix, disable that.
+If the prefix is 1, prompt for another group instead.
@item S f
@itemx f
@item
@vindex gnus-unseen-mark
Articles that haven't been seen by the user before are marked with a
-@samp{.} in the second column (@code{gnus-unseen-mark}).
+@samp{.} in the second column (@code{gnus-unseen-mark}).
@item
@vindex gnus-not-empty-thread-mark
@kindex / o (Summary)
@findex gnus-summary-insert-old-articles
Insert all old articles in the summary buffer. If given a numbered
-prefix, fetch this number of articles.
+prefix, fetch this number of articles.
@end table
from the @code{pbmplus} package and friends.@footnote{On a GNU/Linux
system look for packages with names like @code{netpbm} or
@code{libgr-progs}.}) If you want to have this function in the display
-hook, it should probably come last.
+hook, it should probably come last.
(NOTE: @code{x-face} is used in the variable/function names, not @code{xface}).
@item W b
@menu
* Summary Group Information:: Information oriented commands.
* Searching for Articles:: Multiple article commands.
-* Summary Generation Commands::
+* Summary Generation Commands::
* Really Various Summary Commands:: Those pesky non-conformant commands.
@end menu
buffers. For example:
@lisp
-(setq gnus-newsgroup-variables
+(setq gnus-newsgroup-variables
'(message-use-followup-to
- (gnus-visible-headers .
+ (gnus-visible-headers .
"^From:\\|^Newsgroups:\\|^Subject:\\|^Date:\\|^To:")))
@end lisp
@item h
Displayed when headers are hidden in the article buffer.
-@item p
+@item p
Displayed when article is digitally signed or encrypted, and Gnus has
hidden the security headers. (N.B. does not tell anything about
security status, i.e. good or bad signature.)
@menu
-* Group Agent Commands::
-* Summary Agent Commands::
-* Server Agent Commands::
+* Group Agent Commands::
+* Summary Agent Commands::
+* Server Agent Commands::
@end menu
You can run a complete batch fetch from the command line with the
@kindex J u (Agent Summary)
@findex gnus-agent-summary-fetch-group
Download all downloadable articles in the current group
-(@code{gnus-agent-summary-fetch-group}).
+(@code{gnus-agent-summary-fetch-group}).
@end table
this mechanism does, but here's a cookbook example for @code{nnml} on
how to allow scoring on the @samp{To} and @samp{Cc} headers.
-Put the following in your @file{.gnus.el} file.
+Put the following in your @file{.gnus.el} file.
@lisp
(setq gnus-extra-headers '(To Cc Newsgroups Keywords)
@itemize @bullet
-@item
+@item
The mail-fetching functions have changed. See the manual for the
many details. In particular, all procmail fetching variables are gone.
More information is available in the info doc at Select Methods ->
Getting Mail -> Mail Sources
-@item
+@item
Gnus is now a MIME-capable reader. This affects many parts of
Gnus, and adds a slew of new commands. See the manual for details.