Mercurial > hg > xemacs-beta
comparison lisp/gnus/gnus-sum.el @ 42:8b8b7f3559a2 r19-15b104
Import from CVS: tag r19-15b104
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:54:51 +0200 |
parents | 1a767b41a199 |
children | 8d2a9b52c682 |
comparison
equal
deleted
inserted
replaced
41:5d6df4963a99 | 42:8b8b7f3559a2 |
---|---|
2260 (setq gnus-article-buffer article-buffer) | 2260 (setq gnus-article-buffer article-buffer) |
2261 (setq gnus-original-article-buffer original) | 2261 (setq gnus-original-article-buffer original) |
2262 (setq gnus-reffed-article-number reffed) | 2262 (setq gnus-reffed-article-number reffed) |
2263 (setq gnus-current-score-file score-file) | 2263 (setq gnus-current-score-file score-file) |
2264 ;; The article buffer also has local variables. | 2264 ;; The article buffer also has local variables. |
2265 (when (gnus-buffer-live-p gnus-article-buffer) | 2265 (when (buffer-live-p gnus-article-buffer) |
2266 (set-buffer gnus-article-buffer) | 2266 (set-buffer gnus-article-buffer) |
2267 (setq gnus-summary-buffer summary)))))) | 2267 (setq gnus-summary-buffer summary)))))) |
2268 | 2268 |
2269 (defun gnus-summary-article-unread-p (article) | 2269 (defun gnus-summary-article-unread-p (article) |
2270 "Say whether ARTICLE is unread or not." | 2270 "Say whether ARTICLE is unread or not." |
3584 | 3584 |
3585 (defun gnus-select-newsgroup (group &optional read-all) | 3585 (defun gnus-select-newsgroup (group &optional read-all) |
3586 "Select newsgroup GROUP. | 3586 "Select newsgroup GROUP. |
3587 If READ-ALL is non-nil, all articles in the group are selected." | 3587 If READ-ALL is non-nil, all articles in the group are selected." |
3588 (let* ((entry (gnus-gethash group gnus-newsrc-hashtb)) | 3588 (let* ((entry (gnus-gethash group gnus-newsrc-hashtb)) |
3589 ;;!!! Dirty hack; should be removed. | |
3590 (gnus-summary-ignore-duplicates | |
3591 (if (eq (car (gnus-find-method-for-group group)) 'nnvirtual) | |
3592 t | |
3593 gnus-summary-ignore-duplicates)) | |
3589 (info (nth 2 entry)) | 3594 (info (nth 2 entry)) |
3590 articles fetched-articles cached) | 3595 articles fetched-articles cached) |
3591 | 3596 |
3592 (unless (gnus-check-server | 3597 (unless (gnus-check-server |
3593 (setq gnus-current-select-method | 3598 (setq gnus-current-select-method |
4954 ((eq major-mode 'gnus-article-mode) | 4959 ((eq major-mode 'gnus-article-mode) |
4955 (save-excursion | 4960 (save-excursion |
4956 ;; The `gnus-summary-buffer' variable may point | 4961 ;; The `gnus-summary-buffer' variable may point |
4957 ;; to the old summary buffer when using a single | 4962 ;; to the old summary buffer when using a single |
4958 ;; article buffer. | 4963 ;; article buffer. |
4959 (unless (gnus-buffer-live-p gnus-summary-buffer) | 4964 (unless (buffer-live-p gnus-summary-buffer) |
4960 (set-buffer gnus-group-buffer)) | 4965 (set-buffer gnus-group-buffer)) |
4961 (set-buffer gnus-summary-buffer) | 4966 (set-buffer gnus-summary-buffer) |
4962 (gnus-set-global-variables)))) | 4967 (gnus-set-global-variables)))) |
4963 (if (or (eq (cdr quit-config) 'article) | 4968 (if (or (eq (cdr quit-config) 'article) |
4964 (eq (cdr quit-config) 'pick)) | 4969 (eq (cdr quit-config) 'pick)) |
6178 (save-excursion | 6183 (save-excursion |
6179 (set-buffer gnus-summary-buffer) | 6184 (set-buffer gnus-summary-buffer) |
6180 gnus-current-article))) | 6185 gnus-current-article))) |
6181 (ogroup gnus-newsgroup-name) | 6186 (ogroup gnus-newsgroup-name) |
6182 (params (append (gnus-info-params (gnus-get-info ogroup)) | 6187 (params (append (gnus-info-params (gnus-get-info ogroup)) |
6183 (list (cons 'to-group ogroup)))) | 6188 (list (cons 'to-group ogroup)) |
6189 (list (cons 'save-article-group ogroup)))) | |
6184 (case-fold-search t) | 6190 (case-fold-search t) |
6185 (buf (current-buffer)) | 6191 (buf (current-buffer)) |
6186 dig) | 6192 dig) |
6187 (save-excursion | 6193 (save-excursion |
6188 (setq dig (nnheader-set-temp-buffer " *gnus digest buffer*")) | 6194 (setq dig (nnheader-set-temp-buffer " *gnus digest buffer*")) |
6665 " " new-xref)) | 6671 " " new-xref)) |
6666 (save-excursion | 6672 (save-excursion |
6667 (set-buffer copy-buf) | 6673 (set-buffer copy-buf) |
6668 ;; First put the article in the destination group. | 6674 ;; First put the article in the destination group. |
6669 (gnus-request-article-this-buffer article gnus-newsgroup-name) | 6675 (gnus-request-article-this-buffer article gnus-newsgroup-name) |
6670 (setq art-group | 6676 (when (consp (setq art-group |
6671 (gnus-request-accept-article | 6677 (gnus-request-accept-article |
6672 to-newsgroup select-method (not articles))) | 6678 to-newsgroup select-method (not articles)))) |
6673 (setq new-xref (concat new-xref " " (car art-group) | 6679 (setq new-xref (concat new-xref " " (car art-group) |
6674 ":" (cdr art-group))) | 6680 ":" (cdr art-group))) |
6675 ;; Now we have the new Xrefs header, so we insert | 6681 ;; Now we have the new Xrefs header, so we insert |
6676 ;; it and replace the new article. | 6682 ;; it and replace the new article. |
6677 (nnheader-replace-header "Xref" new-xref) | 6683 (nnheader-replace-header "Xref" new-xref) |
6678 (gnus-request-replace-article | 6684 (gnus-request-replace-article |
6679 (cdr art-group) to-newsgroup (current-buffer)) | 6685 (cdr art-group) to-newsgroup (current-buffer)) |
6680 art-group))))) | 6686 art-group)))))) |
6681 (if (not art-group) | 6687 (cond |
6682 (gnus-message 1 "Couldn't %s article %s" | 6688 ((not art-group) |
6683 (cadr (assq action names)) article) | 6689 (gnus-message 1 "Couldn't %s article %s" |
6690 (cadr (assq action names)) article)) | |
6691 ((and (eq art-group 'junk) | |
6692 (eq action 'move)) | |
6693 (gnus-summary-mark-article article gnus-canceled-mark) | |
6694 (gnus-message 4 "Deleted article %s" article)) | |
6695 (t | |
6684 (let* ((entry | 6696 (let* ((entry |
6685 (or | 6697 (or |
6686 (gnus-gethash (car art-group) gnus-newsrc-hashtb) | 6698 (gnus-gethash (car art-group) gnus-newsrc-hashtb) |
6687 (gnus-gethash | 6699 (gnus-gethash |
6688 (gnus-group-prefixed-name | 6700 (gnus-group-prefixed-name |
6753 (gnus-request-replace-article | 6765 (gnus-request-replace-article |
6754 article gnus-newsgroup-name (current-buffer))))) | 6766 article gnus-newsgroup-name (current-buffer))))) |
6755 | 6767 |
6756 (gnus-summary-goto-subject article) | 6768 (gnus-summary-goto-subject article) |
6757 (when (eq action 'move) | 6769 (when (eq action 'move) |
6758 (gnus-summary-mark-article article gnus-canceled-mark))) | 6770 (gnus-summary-mark-article article gnus-canceled-mark)))) |
6759 (gnus-summary-remove-process-mark article)) | 6771 (gnus-summary-remove-process-mark article)) |
6760 ;; Re-activate all groups that have been moved to. | 6772 ;; Re-activate all groups that have been moved to. |
6761 (while to-groups | 6773 (while to-groups |
6762 (gnus-activate-group (pop to-groups))) | 6774 (gnus-activate-group (pop to-groups))) |
6763 | 6775 |
7066 (execute-kbd-macro (concat (this-command-keys) key)) | 7078 (execute-kbd-macro (concat (this-command-keys) key)) |
7067 (gnus-article-edit-done)) | 7079 (gnus-article-edit-done)) |
7068 | 7080 |
7069 ;;; Respooling | 7081 ;;; Respooling |
7070 | 7082 |
7071 (defun gnus-summary-respool-query () | 7083 (defun gnus-summary-respool-query (&optional silent) |
7072 "Query where the respool algorithm would put this article." | 7084 "Query where the respool algorithm would put this article." |
7073 (interactive) | 7085 (interactive) |
7074 (gnus-set-global-variables) | 7086 (gnus-set-global-variables) |
7075 (let (gnus-mark-article-hook) | 7087 (let (gnus-mark-article-hook) |
7076 (gnus-summary-select-article) | 7088 (gnus-summary-select-article) |
7077 (save-excursion | 7089 (save-excursion |
7078 (set-buffer gnus-original-article-buffer) | 7090 (set-buffer gnus-original-article-buffer) |
7079 (save-restriction | 7091 (save-restriction |
7080 (message-narrow-to-head) | 7092 (message-narrow-to-head) |
7081 (message "This message would go to %s" | 7093 (let ((groups (nnmail-article-group 'identity))) |
7082 (mapconcat 'car (nnmail-article-group 'identity) ", ")))))) | 7094 (unless silent |
7095 (if groups | |
7096 (message "This message would go to %s" | |
7097 (mapconcat 'car groups ", ")) | |
7098 (message "This message would go to no groups")) | |
7099 groups)))))) | |
7083 | 7100 |
7084 ;; Summary marking commands. | 7101 ;; Summary marking commands. |
7085 | 7102 |
7086 (defun gnus-summary-kill-same-subject-and-select (&optional unmark) | 7103 (defun gnus-summary-kill-same-subject-and-select (&optional unmark) |
7087 "Mark articles which has the same subject as read, and then select the next. | 7104 "Mark articles which has the same subject as read, and then select the next. |