Mercurial > emacs
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) |