mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
Merge changes made in Gnus trunk.
mm-decode.el (mm-save-part): Put the entire path in the `M-n' slot. nnimap.el (nnimap-find-article-by-message-id): Don't EXAMINE a group if it's already selected. gnus.texi (Customizing the IMAP Connection): Document `nnimap-expunge' and remove `nnimap-expunge-inbox' from example. gnus.texi (Customizing the IMAP Connection): Remove nnir mention, since that works by default. gnus-sum.el (gnus-summary-show-article): Take `t' as the arg to mean "raw". gnus-html.el (gnus-html-browse-url): Implement mailto: URLs. shr.el (shr-browse-url): Implement mailto: URLs. nnir.el, gnus-sum.el: Improve thread-referral. message.el (message-send-mail): Use the value of message-courtesy-message from the message buffer.
This commit is contained in:
parent
0a61b059c6
commit
181cb5fb65
10 changed files with 96 additions and 28 deletions
|
|
@ -1,3 +1,13 @@
|
|||
2010-11-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi (Customizing the IMAP Connection): Remove nnir mention,
|
||||
since that works by default.
|
||||
|
||||
2010-11-03 Kan-Ru Chen <kanru@kanru.info> (tiny change)
|
||||
|
||||
* gnus.texi (Customizing the IMAP Connection): Document
|
||||
`nnimap-expunge' and remove `nnimap-expunge-inbox' from example.
|
||||
|
||||
2010-11-04 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Remote shell setup): New item "Interactive shell
|
||||
|
|
|
|||
|
|
@ -14845,9 +14845,7 @@ Here's an example method that's more complex:
|
|||
(nnimap-inbox "INBOX")
|
||||
(nnimap-split-methods default)
|
||||
(nnimap-expunge t)
|
||||
(nnimap-stream ssl)
|
||||
(nnir-search-engine imap)
|
||||
(nnimap-expunge-inbox t))
|
||||
(nnimap-stream ssl))
|
||||
@end example
|
||||
|
||||
@table @code
|
||||
|
|
@ -14883,6 +14881,11 @@ what you need.
|
|||
Some @acronym{IMAP} servers allow anonymous logins. In that case,
|
||||
this should be set to @code{anonymous}.
|
||||
|
||||
@item nnimap-expunge
|
||||
If non-@code{nil}, expunge articles after deleting them. This is always done
|
||||
if the server supports UID EXPUNGE, but it's not done by default on
|
||||
servers that doesn't support that command.
|
||||
|
||||
@item nnimap-streaming
|
||||
Virtually all @code{IMAP} server support fast streaming of data. If
|
||||
you have problems connecting to the server, try setting this to @code{nil}.
|
||||
|
|
|
|||
|
|
@ -1,3 +1,32 @@
|
|||
2010-11-04 Andrew Cohen <cohen@andy.bu.edu>
|
||||
|
||||
* nnir.el (gnus-summary-nnir-goto-thread): limiting work done by
|
||||
gnus-summary-refer-thread.
|
||||
|
||||
* gnus-sum.el (gnus-build-all-threads): force updating of dependency
|
||||
headers.
|
||||
(gnus-summary-limit-include-thread): prevent articles in thread from
|
||||
being cut in gnus-cut-threads.
|
||||
(gnus-summary-refer-thread): limit retrieved headers to those in
|
||||
thread.
|
||||
|
||||
2010-11-04 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* message.el (message-send-mail): Use the value of
|
||||
message-courtesy-message from the message buffer.
|
||||
|
||||
* gnus-html.el (gnus-html-browse-url): Implement mailto: URLs.
|
||||
|
||||
* shr.el (shr-browse-url): Implement mailto: URLs.
|
||||
|
||||
* gnus-sum.el (gnus-summary-show-article): Take `t' as the arg to mean
|
||||
"raw".
|
||||
|
||||
* nnimap.el (nnimap-find-article-by-message-id): Don't EXAMINE a group
|
||||
if it's already selected.
|
||||
|
||||
* mm-decode.el (mm-save-part): Put the entire path in the `M-n' slot.
|
||||
|
||||
2010-11-04 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* shr.el (shr-tag-img): Use string-width and truncate-string-to-width
|
||||
|
|
|
|||
|
|
@ -350,9 +350,13 @@ Use ALT-TEXT for the image string."
|
|||
"Browse the image under point."
|
||||
(interactive)
|
||||
(let ((url (get-text-property (point) 'gnus-string)))
|
||||
(if (not url)
|
||||
(message "No URL at point")
|
||||
(browse-url url))))
|
||||
(cond
|
||||
((not url)
|
||||
(message "No link under point"))
|
||||
((string-match "^mailto:" url)
|
||||
(gnus-url-mailto url))
|
||||
(t
|
||||
(browse-url url)))))
|
||||
|
||||
(defun gnus-html-schedule-image-fetching (buffer image)
|
||||
"Retrieve IMAGE, and place it into BUFFER on arrival."
|
||||
|
|
|
|||
|
|
@ -4506,7 +4506,7 @@ the id of the parent article (if any)."
|
|||
(while (not (eobp))
|
||||
(ignore-errors
|
||||
(setq article (read (current-buffer))
|
||||
header (gnus-nov-parse-line article dependencies)))
|
||||
header (gnus-nov-parse-line article dependencies t)))
|
||||
(when header
|
||||
(with-current-buffer gnus-summary-buffer
|
||||
(push header gnus-newsgroup-headers)
|
||||
|
|
@ -8445,7 +8445,11 @@ When called interactively, ID is the Message-ID of the current
|
|||
article."
|
||||
(interactive (list (mail-header-id (gnus-summary-article-header))))
|
||||
(let ((articles (gnus-articles-in-thread
|
||||
(gnus-id-to-thread (gnus-root-id id)))))
|
||||
(gnus-id-to-thread (gnus-root-id id))))
|
||||
;;we REALLY want the whole thread---this prevents cut-threads
|
||||
;;from removing the thread we want to include.
|
||||
(gnus-fetch-old-headers nil)
|
||||
(gnus-build-sparse-threads nil))
|
||||
(prog1
|
||||
(gnus-summary-limit (nconc articles gnus-newsgroup-limit))
|
||||
(gnus-summary-limit-include-matching-articles
|
||||
|
|
@ -8832,7 +8836,13 @@ fetch what's specified by the `gnus-refer-thread-limit'
|
|||
variable."
|
||||
(interactive "P")
|
||||
(let ((id (mail-header-id (gnus-summary-article-header)))
|
||||
(subject (gnus-simplify-subject
|
||||
(mail-header-subject (gnus-summary-article-header))))
|
||||
(refs (split-string (or (mail-header-references
|
||||
(gnus-summary-article-header)) "")))
|
||||
(gnus-summary-ignore-duplicates t)
|
||||
(gnus-inhibit-demon t)
|
||||
(gnus-read-all-available-headers t)
|
||||
(limit (if limit (prefix-numeric-value limit)
|
||||
gnus-refer-thread-limit)))
|
||||
(if (gnus-check-backend-function 'request-thread gnus-newsgroup-name)
|
||||
|
|
@ -8859,6 +8869,11 @@ variable."
|
|||
(gnus-message 5 "Fetching headers for %s...done"
|
||||
gnus-newsgroup-name))))
|
||||
(when (eq gnus-headers-retrieved-by 'nov)
|
||||
;; might as well restrict the headers to the relevant ones. this
|
||||
;; should save time when building threads.
|
||||
(with-current-buffer nntp-server-buffer
|
||||
(goto-char (point-min))
|
||||
(keep-lines (regexp-opt (append refs (list id subject)))))
|
||||
(gnus-build-all-threads))
|
||||
(gnus-summary-limit-include-thread id)))
|
||||
|
||||
|
|
@ -9423,7 +9438,8 @@ C-u g', show the raw article."
|
|||
((not arg)
|
||||
;; Select the article the normal way.
|
||||
(gnus-summary-select-article nil 'force))
|
||||
((equal arg '(16))
|
||||
((or (equal arg '(16))
|
||||
(eq arg t))
|
||||
;; C-u C-u g
|
||||
;; We have to require this here to make sure that the following
|
||||
;; dynamic binding isn't shadowed by autoloading.
|
||||
|
|
|
|||
|
|
@ -4498,7 +4498,9 @@ This function could be useful in `message-setup-hook'."
|
|||
(string= "base64"
|
||||
(message-fetch-field
|
||||
"content-transfer-encoding")))))))
|
||||
(message-insert-courtesy-copy))
|
||||
(message-insert-courtesy-copy
|
||||
(with-current-buffer mailbuf
|
||||
message-courtesy-message)))
|
||||
;; Let's make sure we encoded all the body.
|
||||
(assert (save-excursion
|
||||
(goto-char (point-min))
|
||||
|
|
@ -5939,7 +5941,7 @@ Headers already prepared in the buffer are not modified."
|
|||
;; Check for IDNA
|
||||
(message-idna-to-ascii-rhs))))
|
||||
|
||||
(defun message-insert-courtesy-copy ()
|
||||
(defun message-insert-courtesy-copy (message)
|
||||
"Insert a courtesy message in mail copies of combined messages."
|
||||
(let (newsgroups)
|
||||
(save-excursion
|
||||
|
|
@ -5949,12 +5951,12 @@ Headers already prepared in the buffer are not modified."
|
|||
(goto-char (point-max))
|
||||
(insert "Posted-To: " newsgroups "\n")))
|
||||
(forward-line 1)
|
||||
(when message-courtesy-message
|
||||
(when message
|
||||
(cond
|
||||
((string-match "%s" message-courtesy-message)
|
||||
(insert (format message-courtesy-message newsgroups)))
|
||||
((string-match "%s" message)
|
||||
(insert (format message newsgroups)))
|
||||
(t
|
||||
(insert message-courtesy-message)))))))
|
||||
(insert message)))))))
|
||||
|
||||
;;;
|
||||
;;; Setting up a message buffer
|
||||
|
|
|
|||
|
|
@ -1251,11 +1251,13 @@ PROMPT overrides the default one used to ask user for a file name."
|
|||
(setq filename (gnus-map-function mm-file-name-rewrite-functions
|
||||
(file-name-nondirectory filename))))
|
||||
(setq file
|
||||
(read-file-name (or prompt
|
||||
(format "Save MIME part to (default %s): "
|
||||
(or filename "")))
|
||||
(or mm-default-directory default-directory)
|
||||
(or filename "")))
|
||||
(read-file-name
|
||||
(or prompt
|
||||
(format "Save MIME part to (default %s): "
|
||||
(or filename "")))
|
||||
(or mm-default-directory default-directory)
|
||||
(expand-file-name (or filename "")
|
||||
(or mm-default-directory default-directory))))
|
||||
(if (file-directory-p file)
|
||||
(setq file (expand-file-name filename file))
|
||||
(setq file (expand-file-name
|
||||
|
|
|
|||
|
|
@ -731,8 +731,6 @@ textual parts.")
|
|||
;; to examine a mailbox that doesn't exist. This seems to be
|
||||
;; the only way that allows us to reliably go back to unselected
|
||||
;; state on Courier.
|
||||
(nnimap-command "EXAMINE DOES.NOT.EXIST")
|
||||
(setf (nnimap-group nnimap-object) nil)
|
||||
(car (nnimap-command "RENAME %S %S"
|
||||
(utf7-encode group t) (utf7-encode new-name t))))))
|
||||
|
||||
|
|
@ -863,8 +861,9 @@ textual parts.")
|
|||
(defun nnimap-find-article-by-message-id (group message-id)
|
||||
(with-current-buffer (nnimap-buffer)
|
||||
(erase-buffer)
|
||||
(setf (nnimap-group nnimap-object) nil)
|
||||
(nnimap-send-command "EXAMINE %S" (utf7-encode group t))
|
||||
(unless (equal group (nnimap-group nnimap-object))
|
||||
(setf (nnimap-group nnimap-object) nil)
|
||||
(nnimap-send-command "EXAMINE %S" (utf7-encode group t)))
|
||||
(let ((sequence
|
||||
(nnimap-send-command "UID SEARCH HEADER Message-Id %S" message-id))
|
||||
article result)
|
||||
|
|
|
|||
|
|
@ -510,7 +510,6 @@ and show thread that contains this article."
|
|||
(cdr (assoc "SEARCH" (cdr result))))))))))
|
||||
(gnus-summary-read-group-1 group t t gnus-summary-buffer
|
||||
nil (list backend-number))
|
||||
(gnus-summary-limit (list backend-number))
|
||||
(gnus-summary-refer-thread))))
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -340,9 +340,13 @@ redirects somewhere else."
|
|||
"Browse the URL under point."
|
||||
(interactive)
|
||||
(let ((url (get-text-property (point) 'shr-url)))
|
||||
(if (not url)
|
||||
(message "No link under point")
|
||||
(browse-url url))))
|
||||
(cond
|
||||
((not url)
|
||||
(message "No link under point"))
|
||||
((string-match "^mailto:" url)
|
||||
(gnus-url-mailto url))
|
||||
(t
|
||||
(browse-url url)))))
|
||||
|
||||
(defun shr-save-contents (directory)
|
||||
"Save the contents from URL in a file."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue