comparison lisp/gnus/gnus-sum.el @ 111401:733acab855e4

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.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 04 Nov 2010 22:18:09 +0000
parents 1d510dd4f336
children b75e6634a171
comparison
equal deleted inserted replaced
111400:17d49dad0c8b 111401:733acab855e4
4504 (let ((case-fold-search nil)) 4504 (let ((case-fold-search nil))
4505 (goto-char (point-min)) 4505 (goto-char (point-min))
4506 (while (not (eobp)) 4506 (while (not (eobp))
4507 (ignore-errors 4507 (ignore-errors
4508 (setq article (read (current-buffer)) 4508 (setq article (read (current-buffer))
4509 header (gnus-nov-parse-line article dependencies))) 4509 header (gnus-nov-parse-line article dependencies t)))
4510 (when header 4510 (when header
4511 (with-current-buffer gnus-summary-buffer 4511 (with-current-buffer gnus-summary-buffer
4512 (push header gnus-newsgroup-headers) 4512 (push header gnus-newsgroup-headers)
4513 (if (memq (setq article (mail-header-number header)) 4513 (if (memq (setq article (mail-header-number header))
4514 gnus-newsgroup-unselected) 4514 gnus-newsgroup-unselected)
8443 "Display all the hidden articles that is in the thread with ID in it. 8443 "Display all the hidden articles that is in the thread with ID in it.
8444 When called interactively, ID is the Message-ID of the current 8444 When called interactively, ID is the Message-ID of the current
8445 article." 8445 article."
8446 (interactive (list (mail-header-id (gnus-summary-article-header)))) 8446 (interactive (list (mail-header-id (gnus-summary-article-header))))
8447 (let ((articles (gnus-articles-in-thread 8447 (let ((articles (gnus-articles-in-thread
8448 (gnus-id-to-thread (gnus-root-id id))))) 8448 (gnus-id-to-thread (gnus-root-id id))))
8449 ;;we REALLY want the whole thread---this prevents cut-threads
8450 ;;from removing the thread we want to include.
8451 (gnus-fetch-old-headers nil)
8452 (gnus-build-sparse-threads nil))
8449 (prog1 8453 (prog1
8450 (gnus-summary-limit (nconc articles gnus-newsgroup-limit)) 8454 (gnus-summary-limit (nconc articles gnus-newsgroup-limit))
8451 (gnus-summary-limit-include-matching-articles 8455 (gnus-summary-limit-include-matching-articles
8452 "subject" 8456 "subject"
8453 (regexp-quote (gnus-simplify-subject-re 8457 (regexp-quote (gnus-simplify-subject-re
8830 fetch LIMIT (the numerical prefix) old headers. If LIMIT is nil 8834 fetch LIMIT (the numerical prefix) old headers. If LIMIT is nil
8831 fetch what's specified by the `gnus-refer-thread-limit' 8835 fetch what's specified by the `gnus-refer-thread-limit'
8832 variable." 8836 variable."
8833 (interactive "P") 8837 (interactive "P")
8834 (let ((id (mail-header-id (gnus-summary-article-header))) 8838 (let ((id (mail-header-id (gnus-summary-article-header)))
8839 (subject (gnus-simplify-subject
8840 (mail-header-subject (gnus-summary-article-header))))
8841 (refs (split-string (or (mail-header-references
8842 (gnus-summary-article-header)) "")))
8835 (gnus-summary-ignore-duplicates t) 8843 (gnus-summary-ignore-duplicates t)
8844 (gnus-inhibit-demon t)
8845 (gnus-read-all-available-headers t)
8836 (limit (if limit (prefix-numeric-value limit) 8846 (limit (if limit (prefix-numeric-value limit)
8837 gnus-refer-thread-limit))) 8847 gnus-refer-thread-limit)))
8838 (if (gnus-check-backend-function 'request-thread gnus-newsgroup-name) 8848 (if (gnus-check-backend-function 'request-thread gnus-newsgroup-name)
8839 (setq gnus-newsgroup-headers 8849 (setq gnus-newsgroup-headers
8840 (gnus-merge 'list 8850 (gnus-merge 'list
8857 (gnus-retrieve-headers (list gnus-newsgroup-end) 8867 (gnus-retrieve-headers (list gnus-newsgroup-end)
8858 gnus-newsgroup-name limit) 8868 gnus-newsgroup-name limit)
8859 (gnus-message 5 "Fetching headers for %s...done" 8869 (gnus-message 5 "Fetching headers for %s...done"
8860 gnus-newsgroup-name)))) 8870 gnus-newsgroup-name))))
8861 (when (eq gnus-headers-retrieved-by 'nov) 8871 (when (eq gnus-headers-retrieved-by 'nov)
8872 ;; might as well restrict the headers to the relevant ones. this
8873 ;; should save time when building threads.
8874 (with-current-buffer nntp-server-buffer
8875 (goto-char (point-min))
8876 (keep-lines (regexp-opt (append refs (list id subject)))))
8862 (gnus-build-all-threads)) 8877 (gnus-build-all-threads))
8863 (gnus-summary-limit-include-thread id))) 8878 (gnus-summary-limit-include-thread id)))
8864 8879
8865 (defun gnus-summary-refer-article (message-id) 8880 (defun gnus-summary-refer-article (message-id)
8866 "Fetch an article specified by MESSAGE-ID." 8881 "Fetch an article specified by MESSAGE-ID."
9421 (when (gnus-summary-goto-subject (cdr gnus-article-current) nil t) 9436 (when (gnus-summary-goto-subject (cdr gnus-article-current) nil t)
9422 (gnus-summary-update-secondary-mark (cdr gnus-article-current)))))) 9437 (gnus-summary-update-secondary-mark (cdr gnus-article-current))))))
9423 ((not arg) 9438 ((not arg)
9424 ;; Select the article the normal way. 9439 ;; Select the article the normal way.
9425 (gnus-summary-select-article nil 'force)) 9440 (gnus-summary-select-article nil 'force))
9426 ((equal arg '(16)) 9441 ((or (equal arg '(16))
9442 (eq arg t))
9427 ;; C-u C-u g 9443 ;; C-u C-u g
9428 ;; We have to require this here to make sure that the following 9444 ;; We have to require this here to make sure that the following
9429 ;; dynamic binding isn't shadowed by autoloading. 9445 ;; dynamic binding isn't shadowed by autoloading.
9430 (require 'gnus-async) 9446 (require 'gnus-async)
9431 (require 'gnus-art) 9447 (require 'gnus-art)