Commit b890d447 authored by Miles Bader's avatar Miles Bader

Merge from gnus--devo--0

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-941
parent f6e7ec02
2007-12-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus.texi (Other Files): Add the yenc command.
2007-11-30 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.texi (MIME Commands): Default of gnus-article-loose-mime is t
since 2004-08-06.
2007-11-28 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (Fancy Mail Splitting): Fix description of splitting based
on body.
2007-11-27 Katsumi Yamaoka <yamaoka@jpl.org>
* emacs-mime.texi (rfc2047): Mention rfc2047-encoded-word-regexp-loose
and rfc2047-allow-irregular-q-encoded-words; fix description of
rfc2047-encode-encoded-words.
2007-11-24 Reiner Steib <Reiner.Steib@gmx.de>
* gnus.texi (Fetching Mail): Remove obsoleted `nnmail-spool-file'.
2007-12-05 Michael Olson <mwolson@gnu.org>
* remember.texi (Diary): Remove "require" line for remember-diary.el.
......
......@@ -1417,10 +1417,23 @@ This is an alist of encoding / function pairs. The encodings are
@vindex rfc2047-encoded-word-regexp
When decoding words, this library looks for matches to this regexp.
@item rfc2047-encoded-word-regexp-loose
@vindex rfc2047-encoded-word-regexp-loose
This is a version from which the regexp for the Q encoding pattern of
@code{rfc2047-encoded-word-regexp} is made loose.
@item rfc2047-encode-encoded-words
@vindex rfc2047-encode-encoded-words
The boolean variable specifies whether encoded words
(e.g. @samp{=?hello?=}) should be encoded again.
(e.g. @samp{=?us-ascii?q?hello?=}) should be encoded again.
@code{rfc2047-encoded-word-regexp} is used to look for such words.
@item rfc2047-allow-irregular-q-encoded-words
@vindex rfc2047-allow-irregular-q-encoded-words
The boolean variable specifies whether irregular Q encoded words
(e.g. @samp{=?us-ascii?q?hello??=}) should be decoded. If it is
non-@code{nil}, @code{rfc2047-encoded-word-regexp-loose} is used instead
of @code{rfc2047-encoded-word-regexp} to look for encoded words.
@end table
......
......@@ -8175,6 +8175,11 @@ Save the current series
@findex gnus-uu-decode-binhex
Unbinhex the current series (@code{gnus-uu-decode-binhex}). This
doesn't really work yet.
@item X Y
@kindex X Y (Summary)
@findex gnus-uu-decode-yenc
yEnc-decode the current series and save it (@code{gnus-uu-decode-yenc}).
@end table
......@@ -9740,7 +9745,7 @@ To have all Vcards be ignored, you'd say something like this:
If non-@code{nil}, Gnus won't require the @samp{MIME-Version} header
before interpreting the message as a @acronym{MIME} message. This helps
when reading messages from certain broken mail user agents. The
default is @code{nil}.
default is @code{t}.
@item gnus-article-emulate-mime
@vindex gnus-article-emulate-mime
......@@ -14649,14 +14654,12 @@ If non-@code{nil}, name of program for fetching new mail. If
@subsubsection Fetching Mail
@vindex mail-sources
@vindex nnmail-spool-file
The way to actually tell Gnus where to get new mail from is to set
@code{mail-sources} to a list of mail source specifiers
(@pxref{Mail Source Specifiers}).
If this variable (and the obsolescent @code{nnmail-spool-file}) is
@code{nil}, the mail back ends will never attempt to fetch mail by
themselves.
If this variable is @code{nil}, the mail back ends will never attempt to
fetch mail by themselves.
If you want to fetch mail both from your local spool as well as a
@acronym{POP} mail server, you'd say something like:
......@@ -14865,9 +14868,9 @@ body of the messages:
"string.group"))))
@end lisp
The buffer is narrowed to the message in question when @var{function}
is run. That's why @code{(widen)} needs to be called after
@code{save-excursion} and @code{save-restriction} in the example
The buffer is narrowed to the header of the message in question when
@var{function} is run. That's why @code{(widen)} needs to be called
after @code{save-excursion} and @code{save-restriction} in the example
above. Also note that with the nnimap back end, message bodies will
not be downloaded by default. You need to set
@code{nnimap-split-download-body} to @code{t} to do that
2007-12-05 Reiner Steib <Reiner.Steib@gmx.de>
* net/tls.el (tls-hostmismatch, open-tls-stream): Checkdoc cleanup.
2007-12-05 Elias Oltmanns <eo@nebensachen.de>
* net/tls.el (open-tls-stream): Actually consult tls-checktrust to
see if certs should be verified and what is to be done in the
event of a verification failure.
2007-12-05 Reiner Steib <Reiner.Steib@gmx.de>
* net/tls.el (tls-program): Provide more custom choices from
`tls-checktrust'. Refer to `tls-checktrust' in doc string.
(tls-process-connection-type, tls-success): Remove "*" in doc string.
(tls-checktrust, tls-hostmismatch, tls-untrusted): Add custom
version. Minor improvement to doc strings.
(tls-program): Add comment.
2007-12-05 Elias Oltmanns <eo@nebensachen.de>
* net/tls.el (tls-certtool-program, tls-hostmismatch): New variables.
(tls-checktrust): New variable. Check if GNU TLS complained about a
mismatch between the hostname provided in the certificate and the name
of the host connnecting to.
(open-tls-stream): Use them. Check certificates against trusted root
certificates.
2007-12-05 Nathan J. Williams <nathanw@MIT.EDU> (tiny change)
* net/imap.el (imap-mailbox-status-asynch): Upcase STATUS items.
(imap-parse-status): Upcase status-att for broken servers that sends
them lower-case (e.g., MS Exchange 2007).
2007-12-05 D. Goel <deego3@gmail.com>
* simple.el (undo): Ditto.
......
2007-12-04 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-group.el (gnus-group-highlight-line): Add FIXME.
* gnus-dired.el: Reduce Gnus dependencies.
(gnus-ems, gnus-msg, gnus-util, message, mm-decode, mml): Don't
require. Use autoloads instead.
(mml-attach-file, mm-default-file-encoding, mailcap-extension-to-mime)
(mailcap-mime-info, mm-mailcap-command, ps-print-preprint)
(message-buffers, gnus-setup-message, gnus-print-buffer): Autoload.
(gnus-dired-mode): Adjust doc string.
(gnus-dired-mail-mode): New variable.
(gnus-dired-mode-map): Avoid using `gnus-define-keys'.
(gnus-dired-mode): Avoid using `gnus-run-hooks'.
(gnus-dired-mail-buffers): New function. Return mail or message
composition buffers.
(gnus-dired-attach): Use it.
(gnus-dired-find-file-mailcap): Call `mailcap-mime-info' with
NO-DECODE.
(gnus-dired-print): Use `gnus-print-buffer' depending on
`gnus-dired-mail-mode'.
2007-12-04 Katsumi Yamaoka <yamaoka@jpl.org>
* rfc2047.el (rfc2047-encoded-word-regexp)
(rfc2047-encoded-word-regexp-loose): Move forward; add comments
explaining what regexp patterns are for.
2007-12-04 Glenn Morris <rgm@gnu.org>
* password.el: Move to ../password-cache.el.
......@@ -15,6 +43,29 @@
* mml-sec.el, sieve-manage.el, smime.el: Require password-cache or
password.
2007-12-03 Reiner Steib <Reiner.Steib@gmx.de>
* mailcap.el: Reduce dependencies.
(mail-header-parse-content-type): Autoload.
(mailcap-delete-duplicates): New alias.
(mailcap-mime-info): Add optional argument NO-DECODE.
(mailcap-mime-types): Use mailcap-delete-duplicates.
* message.el (message-ignored-supersedes-headers): Add "X-ID".
2007-12-03 Lars Magne Ingebrigtsen <larsi@gnus.org>
* gnus-sum.el (gnus-uu-extract-map): Add a command for the yenc
function.
* gnus-uu.el (gnus-uu-decode-yenc): New command.
(gnus-uu-yenc-article): New function.
* yenc.el (yenc-first-part-p, yenc-last-part-p): New functions.
* mm-uu.el (mm-uu-yenc-extract): Get the data from the original
buffer.
2007-12-02 Glenn Morris <rgm@gnu.org>
* sasl-cram.el, sasl-digest.el, sasl-ntlm.el, sasl.el:
......@@ -24,6 +75,20 @@
* encrypt.el: Remove file.
2007-12-01 Reiner Steib <Reiner.Steib@gmx.de>
* message.el (message-cite-prefix-regexp): Remove `-' and `+' to avoid
matches on patches.
* gnus-art.el (gnus-article-browse-html-article): Mention
`mm-text-html-renderer' in the doc string.
* rfc2047.el (rfc2047-encode-max-chars): Refer to RFC 2047 in doc
string. Add comments.
* message.el (message-idna-to-ascii-rhs-1): Don't call `idna-to-ascii'
if rhs is ASCII.
2007-12-01 Glenn Morris <rgm@gnu.org>
* dig.el, dns.el: Move to ../net.
......@@ -36,20 +101,101 @@
* encrypt.el: Require password, rather than autoloading password-read.
2007-11-28 Elias Oltmanns <eo@nebensachen.de>
* gnus.el (gnus-method-to-server): Add an optional parameter so the
caller can indicate whether the cache should be disregarded for this
call. This way the result of the call is reproducible at all times and
can be considered a canonical server name for the supplied method.
(gnus-agent-method-p): Canonicalize server names by pushing their
method through `gnus-method-to-server' using the no-cache argument.
* gnus-srvr.el (gnus-server-insert-server-line): Call
`gnus-method-to-server' with `no-cache' argument.
* gnus-agent.el (gnus-agent-toggle-plugged): Don't call
gnus-agent-possibly-synchronize-flags as this should be called when the
server is actually being opened.
(gnus-agent-possibly-synchronize-flags)
(gnus-agent-possibly-synchronize-flags-server): Move check for the
flags file of an agentized server to the latter function.
* gnus-int.el (gnus-agent-possibly-synchronize-flags-server): Autoload.
(gnus-open-server): Call gnus-agent-possibly-synchronize-flags-server
after a connection has been established successfully.
2007-11-28 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-art.el (article-display-face): Force to display face if called
interactively; check if gnus-article-x-face-too-ugly matches author.
(article-display-x-face): Display face even if From header is missing
as article-display-face does.
2007-11-28 Richard Stallman <rms@gnu.org>
* md4.el: Move to ../.
* hmac-def.el, hmac-md5.el, ntlm.el: Move to ../net.
2007-11-27 Reiner Steib <Reiner.Steib@gmx.de>
* mail-source.el (mail-sources): Default to fetch from file for
compatibility with default of nnmail-spool-file.
2007-11-27 Katsumi Yamaoka <yamaoka@jpl.org>
* rfc2047.el (rfc2047-allow-irregular-q-encoded-words): New variable.
(rfc2047-encodable-p): Use rfc2047-encoded-word-regexp instead of "=?"
to look for encoded word that should be encoded again.
(rfc2047-encoded-word-regexp): Make B encoding pattern strict.
(rfc2047-encoded-word-regexp-loose): New constant that has loose Q
encoding pattern.
(rfc2047-decode-region): Switch strict regexp and loose one according
to rfc2047-allow-irregular-q-encoded-words.
2007-11-26 Simon Josefsson <simon@josefsson.org>
* imap.el: Move to ../net directory.
2007-11-25 Romain Francoise <romain@orebokech.com>
* gnus-msg.el (gnus-summary-reply): Delete extra paren.
2007-11-24 Reiner Steib <Reiner.Steib@gmx.de>
* nnmail.el (nnmail-spool-file): Remove obsolete variable.
(nnmail-get-new-mail): Remove code using `nnmail-spool-file'.
* gnus-start.el (defvar, gnus-get-unread-articles): Remove code using
`nnmail-spool-file'.
* nnkiboze.el (nnkiboze-generate-groups): Don't bind obsolete
`nnmail-spool-file'.
* gnus-move.el (gnus-change-server): Ditto.
* gnus-kill.el (gnus-batch-score): Ditto.
* gnus-cache.el (gnus-jog-cache): Ditto.
* gnus-msg.el (gnus-summary-reply): Ignore
gnus-confirm-mail-reply-to-news for wide and very wide replies.
2007-11-24 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-cache.el (gnus-cache-generate-nov-databases): Use
nnml-generate-nov-databases-directory instead of
nnml-generate-nov-databases-1.
2007-11-24 Glenn Morris <rgm@gnu.org>
* message.el (message-tool-bar-retro): Update for rename
mail_send.xpm->mail-send.xpm.
2007-11-22 Reiner Steib <Reiner.Steib@gmx.de>
* smime.el (smime-cert-by-ldap-1): Use `ldap-search' instead of
`smime-ldap-search' for Emacs 22 and up.
2007-11-22 Reiner Steib <Reiner.Steib@gmx.de>
* hashcash.el: Move to ../mail directory.
......@@ -87,6 +233,18 @@
(spam-check-crm114, spam-initialize, spam-unload-hook):
Fix typos in docstrings.
2007-11-21 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-start.el (gnus-get-unread-articles): Mark groups as having never
been checked if they have never been read and those group levels are
higher than the one that a user specified.
2007-11-21 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus-start.el (gnus-get-unread-articles): Don't prevent from checking
foreign groups unless a group level is specified by a user.
Reported by Dan Nicolaescu <dann@ics.uci.edu>.
2007-11-21 Reiner Steib <Reiner.Steib@gmx.de>
* message.el (message-send-mail-function): Require sendmail.
......
......@@ -636,8 +636,7 @@ manipulated as follows:
(gnus-agent-make-mode-line-string " Plugged"
'mouse-2
'gnus-agent-toggle-plugged))
(gnus-agent-go-online gnus-agent-go-online)
(gnus-agent-possibly-synchronize-flags))
(gnus-agent-go-online gnus-agent-go-online))
(t
(gnus-agent-close-connections)
(setq gnus-plugged set-to)
......@@ -868,8 +867,7 @@ be a select method."
(interactive)
(save-excursion
(dolist (gnus-command-method (gnus-agent-covered-methods))
(when (and (file-exists-p (gnus-agent-lib-file "flags"))
(eq (gnus-server-status gnus-command-method) 'ok))
(when (eq (gnus-server-status gnus-command-method) 'ok)
(gnus-agent-possibly-synchronize-flags-server gnus-command-method)))))
(defun gnus-agent-synchronize-flags-server (method)
......@@ -905,11 +903,13 @@ be a select method."
(defun gnus-agent-possibly-synchronize-flags-server (method)
"Synchronize flags for server according to `gnus-agent-synchronize-flags'."
(when (or (and gnus-agent-synchronize-flags
(not (eq gnus-agent-synchronize-flags 'ask)))
(and (eq gnus-agent-synchronize-flags 'ask)
(gnus-y-or-n-p (format "Synchronize flags on server `%s'? "
(cadr method)))))
(when (and (file-exists-p (gnus-agent-lib-file "flags"))
(or (and gnus-agent-synchronize-flags
(not (eq gnus-agent-synchronize-flags 'ask)))
(and (eq gnus-agent-synchronize-flags 'ask)
(gnus-y-or-n-p
(format "Synchronize flags on server `%s'? "
(cadr method))))))
(gnus-agent-synchronize-flags-server method)))
;;;###autoload
......
......@@ -2334,9 +2334,9 @@ long lines iff arg is positive."
(defvar gnus-face-properties-alist)
(defun article-display-face ()
(defun article-display-face (&optional force)
"Display any Face headers in the header."
(interactive)
(interactive (list 'force))
(let ((wash-face-p buffer-read-only))
(gnus-with-article-headers
;; When displaying parts, this function can be called several times on
......@@ -2346,7 +2346,8 @@ long lines iff arg is positive."
;; read-only.
(if (and wash-face-p (memq 'face gnus-article-wash-types))
(gnus-delete-images 'face)
(let (face faces from)
(let ((from (message-fetch-field "from"))
face faces)
(save-current-buffer
(when (and wash-face-p
(gnus-buffer-live-p gnus-original-article-buffer)
......@@ -2354,16 +2355,22 @@ long lines iff arg is positive."
(set-buffer gnus-original-article-buffer))
(save-restriction
(mail-narrow-to-head)
(while (gnus-article-goto-header "Face")
(push (mail-header-field-value) faces))))
(when (or force
;; Check whether this face is censored.
(not (and gnus-article-x-face-too-ugly
(or from
(setq from (message-fetch-field "from")))
(string-match gnus-article-x-face-too-ugly
from))))
(while (gnus-article-goto-header "Face")
(push (mail-header-field-value) faces)))))
(when faces
(goto-char (point-min))
(let ((from (gnus-article-goto-header "from"))
png image)
(unless from
(let (png image)
(unless (setq from (gnus-article-goto-header "from"))
(insert "From:")
(setq from (point))
(insert "[no `from' set]\n"))
(insert " [no `from' set]\n"))
(while faces
(when (setq png (gnus-convert-face-to-png (pop faces)))
(setq image
......@@ -2388,7 +2395,8 @@ long lines iff arg is positive."
;; instead.
(gnus-delete-images 'xface)
;; Display X-Faces.
(let (x-faces from face)
(let ((from (message-fetch-field "from"))
x-faces face)
(save-current-buffer
(when (and wash-face-p
(gnus-buffer-live-p gnus-original-article-buffer)
......@@ -2399,43 +2407,41 @@ long lines iff arg is positive."
(set-buffer gnus-original-article-buffer))
(save-restriction
(mail-narrow-to-head)
(while (gnus-article-goto-header "X-Face")
(push (mail-header-field-value) x-faces))
(setq from (message-fetch-field "from"))))
;; Sending multiple EOFs to xv doesn't work, so we only do a
;; single external face.
(when (stringp gnus-article-x-face-command)
(setq x-faces (list (car x-faces))))
(when (and x-faces
gnus-article-x-face-command
(or force
;; Check whether this face is censored.
(not gnus-article-x-face-too-ugly)
(and from
(not (string-match gnus-article-x-face-too-ugly
from)))))
(while (setq face (pop x-faces))
;; We display the face.
(cond ((stringp gnus-article-x-face-command)
;; The command is a string, so we interpret the command
;; as a, well, command, and fork it off.
(let ((process-connection-type nil))
(gnus-set-process-query-on-exit-flag
(start-process
"article-x-face" nil shell-file-name
shell-command-switch gnus-article-x-face-command)
nil)
(with-temp-buffer
(insert face)
(process-send-region "article-x-face"
(point-min) (point-max)))
(process-send-eof "article-x-face")))
((functionp gnus-article-x-face-command)
;; The command is a lisp function, so we call it.
(funcall gnus-article-x-face-command face))
(t
(error "%s is not a function"
gnus-article-x-face-command))))))))))
(and gnus-article-x-face-command
(or force
;; Check whether this face is censored.
(not (and gnus-article-x-face-too-ugly
(or from
(setq from (message-fetch-field "from")))
(string-match gnus-article-x-face-too-ugly
from))))
(while (gnus-article-goto-header "X-Face")
(push (mail-header-field-value) x-faces)))))
(when x-faces
;; We display the face.
(cond ((functionp gnus-article-x-face-command)
;; The command is a lisp function, so we call it.
(mapc gnus-article-x-face-command x-faces))
((stringp gnus-article-x-face-command)
;; The command is a string, so we interpret the command
;; as a, well, command, and fork it off.
(let ((process-connection-type nil))
(gnus-set-process-query-on-exit-flag
(start-process
"article-x-face" nil shell-file-name
shell-command-switch gnus-article-x-face-command)
nil)
;; Sending multiple EOFs to xv doesn't work,
;; so we only do a single external face.
(with-temp-buffer
(insert (car x-faces))
(process-send-region "article-x-face"
(point-min) (point-max)))
(process-send-eof "article-x-face")))
(t
(error "`%s' set to `%s' is not a function"
gnus-article-x-face-command
'gnus-article-x-face-command)))))))))
(defun article-decode-mime-words ()
"Decode all MIME-encoded words in the article."
......@@ -2823,7 +2829,10 @@ Warning: Spammers use links to images in HTML articles to verify
whether you have read the message. As
`gnus-article-browse-html-article' passes the unmodified HTML
content to the browser without eliminating these \"web bugs\" you
should only use it for mails from trusted senders."
should only use it for mails from trusted senders.
If you alwasy want to display HTML part in the browser, set
`mm-text-html-renderer' to nil."
;; Cf. `mm-w3m-safe-url-regexp'
(interactive)
(save-window-excursion
......
......@@ -92,7 +92,7 @@ it's not cached."
(defvar gnus-cache-total-fetched-hashtb nil)
(eval-and-compile
(autoload 'nnml-generate-nov-databases-1 "nnml")
(autoload 'nnml-generate-nov-databases-directory "nnml")
(autoload 'nnvirtual-find-group-art "nnvirtual"))
......@@ -620,7 +620,6 @@ $ emacs -batch -l ~/.emacs -l gnus -f gnus-jog-cache"
(interactive)
(let ((gnus-mark-article-hook nil)
(gnus-expert-user t)
(nnmail-spool-file nil)
(mail-sources nil)
(gnus-use-dribble-file nil)
(gnus-novice-user nil)
......@@ -756,7 +755,7 @@ If LOW, update the lower bound instead."
(interactive (list gnus-cache-directory))
(gnus-cache-close)
(let ((nnml-generate-active-function 'identity))
(nnml-generate-nov-databases-1 dir))
(nnml-generate-nov-databases-directory dir))
(setq gnus-cache-total-fetched-hashtb nil)
......
......@@ -42,25 +42,55 @@
;;; Code:
(require 'dired)
(require 'gnus-ems)
(require 'gnus-msg)
(require 'gnus-util)
(require 'message)
(require 'mm-encode)
(require 'mml)
(autoload 'mml-attach-file "mml")
(autoload 'mm-default-file-encoding "mm-decode");; Shift this to `mailcap.el'?
(autoload 'mailcap-extension-to-mime "mailcap")
(autoload 'mailcap-mime-info "mailcap")
;; Maybe shift this function to `mailcap.el'?
(autoload 'mm-mailcap-command "mm-decode")
(autoload 'ps-print-preprint "ps-print")
;; Autoloads to avoid byte-compiler warnings. These are used only if the user
;; customizes `gnus-dired-mail-mode' to use Message and/or Gnus.
(autoload 'message-buffers "message")
(autoload 'gnus-setup-message "gnus-msg")
(autoload 'gnus-print-buffer "gnus-sum")
(defvar gnus-dired-mode nil
"Minor mode for intersections of gnus and dired.")
"Minor mode for intersections of MIME mail composition and dired.")
(defvar gnus-dired-mode-map nil)
(unless gnus-dired-mode-map
(setq gnus-dired-mode-map (make-sparse-keymap))
(gnus-define-keys gnus-dired-mode-map
"\C-c\C-m\C-a" gnus-dired-attach
"\C-c\C-m\C-l" gnus-dired-find-file-mailcap
"\C-c\C-m\C-p" gnus-dired-print))
(define-key gnus-dired-mode-map "\C-c\C-m\C-a" 'gnus-dired-attach)
(define-key gnus-dired-mode-map "\C-c\C-m\C-l" 'gnus-dired-find-file-mailcap)
(define-key gnus-dired-mode-map "\C-c\C-m\C-p" 'gnus-dired-print))
;; FIXME: Make it customizable, change the default to `mail-user-agent' when
;; this file if renamed (e.g. to `dired-mime.el').
(defcustom gnus-dired-mail-mode 'gnus-user-agent ;; mail-user-agent
"Your preference for a mail composition package.
See `mail-user-agent' for more information."
:group 'mail ;; dired?
:version "23.0" ;; No Gnus
:type '(radio (function-item :tag "Default Emacs mail"
:format "%t\n"
sendmail-user-agent)
(function-item :tag "Emacs interface to MH"
:format "%t\n"
mh-e-user-agent)
(function-item :tag "Gnus Message package"
:format "%t\n"
message-user-agent)
(function-item :tag "Gnus Message with full Gnus features"
:format "%t\n"
gnus-user-agent)
(function :tag "Other")))
(defun gnus-dired-mode (&optional arg)
"Minor mode for intersections of gnus and dired.
......@@ -73,14 +103,31 @@
(> (prefix-numeric-value arg) 0)))
(when gnus-dired-mode
(add-minor-mode 'gnus-dired-mode "" gnus-dired-mode-map)
(gnus-run-hooks 'gnus-dired-mode-hook))))
(save-current-buffer
(run-hooks 'gnus-dired-mode-hook)))))
;;;###autoload
(defun turn-on-gnus-dired-mode ()
"Convenience method to turn on gnus-dired-mode."
(interactive)
(gnus-dired-mode 1))
;; Method to attach files to a gnus composition.
(defun gnus-dired-mail-buffers ()
"Return a list of active mail composition buffers."
(if (and (memq gnus-dired-mail-mode '(message-user-agent gnus-user-agent))
(require 'message)
(fboundp 'message-buffers))
(message-buffers)
;; Cf. `message-buffers' in `message.el':
(let (buffers)
(save-excursion
(dolist (buffer (buffer-list t))
(set-buffer buffer)
(when (eq major-mode 'mail-mode)
(push (buffer-name buffer) buffers))))
(nreverse buffers))))
;; Method to attach files to a mail composition.
(defun gnus-dired-attach (files-to-attach)
"Attach dired's marked files to a gnus message composition.
If called non-interactively, FILES-TO-ATTACH should be a list of
......@@ -102,22 +149,25 @@ filenames."
(mapconcat
(lambda (f) (file-name-nondirectory f))
files-to-attach ", "))
(setq bufs (message-buffers))
(setq bufs (gnus-dired-mail-buffers))
;; se