comparison lisp/gnus/gnus-sum.el @ 122:d2f30a177268 r20-1b14

Import from CVS: tag r20-1b14
author cvs
date Mon, 13 Aug 2007 09:26:03 +0200
parents cca96a509cfe
children 9b50b4588a93
comparison
equal deleted inserted replaced
121:419db647c998 122:d2f30a177268
1853 (setq gnus-newsgroup-name group) 1853 (setq gnus-newsgroup-name group)
1854 (make-local-variable 'gnus-summary-line-format) 1854 (make-local-variable 'gnus-summary-line-format)
1855 (make-local-variable 'gnus-summary-line-format-spec) 1855 (make-local-variable 'gnus-summary-line-format-spec)
1856 (make-local-variable 'gnus-summary-mark-positions) 1856 (make-local-variable 'gnus-summary-mark-positions)
1857 (make-local-hook 'post-command-hook) 1857 (make-local-hook 'post-command-hook)
1858 (gnus-add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t) 1858 (add-hook 'post-command-hook 'gnus-clear-inboxes-moved nil t)
1859 (run-hooks 'gnus-summary-mode-hook) 1859 (run-hooks 'gnus-summary-mode-hook)
1860 (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy) 1860 (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy)
1861 (gnus-update-summary-mark-positions)) 1861 (gnus-update-summary-mark-positions))
1862 1862
1863 (defun gnus-summary-make-local-variables () 1863 (defun gnus-summary-make-local-variables ()
5126 ;; There are no further groups, so we return to the group 5126 ;; There are no further groups, so we return to the group
5127 ;; buffer. 5127 ;; buffer.
5128 (progn 5128 (progn
5129 (gnus-message 5 "Returning to the group buffer") 5129 (gnus-message 5 "Returning to the group buffer")
5130 (setq entered t) 5130 (setq entered t)
5131 (when (buffer-live-p current-buffer) 5131 (when (gnus-buffer-live-p current-buffer)
5132 (set-buffer current-buffer) 5132 (set-buffer current-buffer)
5133 (gnus-summary-exit)) 5133 (gnus-summary-exit))
5134 (run-hooks 'gnus-group-no-more-groups-hook)) 5134 (run-hooks 'gnus-group-no-more-groups-hook))
5135 ;; We try to enter the target group. 5135 ;; We try to enter the target group.
5136 (gnus-group-jump-to-group target-group) 5136 (gnus-group-jump-to-group target-group)
6131 (setq ref (substring ref (match-end 0)))))) 6131 (setq ref (substring ref (match-end 0))))))
6132 (gnus-summary-goto-subject current) 6132 (gnus-summary-goto-subject current)
6133 (gnus-summary-position-point) 6133 (gnus-summary-position-point)
6134 n))) 6134 n)))
6135 6135
6136 (defun gnus-summary-refer-article (message-id) 6136 (defun gnus-summary-refer-article (message-id &optional arg)
6137 "Fetch an article specified by MESSAGE-ID." 6137 "Fetch an article specified by MESSAGE-ID.
6138 (interactive "sMessage-ID: ") 6138 If ARG (the prefix), fetch the article using `gnus-refer-article-method'
6139 or `gnus-select-method', no matter what backend the article comes from."
6140 (interactive "sMessage-ID: \nP")
6139 (when (and (stringp message-id) 6141 (when (and (stringp message-id)
6140 (not (zerop (length message-id)))) 6142 (not (zerop (length message-id))))
6141 ;; Construct the correct Message-ID if necessary. 6143 ;; Construct the correct Message-ID if necessary.
6142 ;; Suggested by tale@pawl.rpi.edu. 6144 ;; Suggested by tale@pawl.rpi.edu.
6143 (unless (string-match "^<" message-id) 6145 (unless (string-match "^<" message-id)
6155 (mail-header-number header) nil header) 6157 (mail-header-number header) nil header)
6156 (when sparse 6158 (when sparse
6157 (gnus-summary-update-article (mail-header-number header)))) 6159 (gnus-summary-update-article (mail-header-number header))))
6158 ;; We fetch the article 6160 ;; We fetch the article
6159 (let ((gnus-override-method 6161 (let ((gnus-override-method
6160 (and (gnus-news-group-p gnus-newsgroup-name) 6162 (cond ((gnus-news-group-p gnus-newsgroup-name)
6161 gnus-refer-article-method)) 6163 gnus-refer-article-method)
6164 (arg
6165 (or gnus-refer-article-method gnus-select-method))
6166 (t nil)))
6162 number) 6167 number)
6163 ;; Start the special refer-article method, if necessary. 6168 ;; Start the special refer-article method, if necessary.
6164 (when (and gnus-refer-article-method 6169 (when (and gnus-refer-article-method
6165 (gnus-news-group-p gnus-newsgroup-name)) 6170 (gnus-news-group-p gnus-newsgroup-name))
6166 (gnus-check-server gnus-refer-article-method)) 6171 (gnus-check-server gnus-refer-article-method))
6478 ;; Bind the article treatment functions to nil. 6483 ;; Bind the article treatment functions to nil.
6479 (let ((gnus-have-all-headers t) 6484 (let ((gnus-have-all-headers t)
6480 gnus-article-display-hook 6485 gnus-article-display-hook
6481 gnus-article-prepare-hook 6486 gnus-article-prepare-hook
6482 gnus-break-pages 6487 gnus-break-pages
6488 gnus-show-mime
6483 gnus-visual) 6489 gnus-visual)
6484 (gnus-summary-select-article nil 'force))) 6490 (gnus-summary-select-article nil 'force)))
6485 (gnus-summary-goto-subject gnus-current-article) 6491 (gnus-summary-goto-subject gnus-current-article)
6486 (gnus-summary-position-point)) 6492 (gnus-summary-position-point))
6487 6493
6775 (when (eq action 'move) 6781 (when (eq action 'move)
6776 (gnus-summary-mark-article article gnus-canceled-mark)))) 6782 (gnus-summary-mark-article article gnus-canceled-mark))))
6777 (gnus-summary-remove-process-mark article)) 6783 (gnus-summary-remove-process-mark article))
6778 ;; Re-activate all groups that have been moved to. 6784 ;; Re-activate all groups that have been moved to.
6779 (while to-groups 6785 (while to-groups
6780 (gnus-activate-group (pop to-groups))) 6786 (save-excursion
6787 (set-buffer gnus-group-buffer)
6788 (when (gnus-group-goto-group (car to-groups) t)
6789 (gnus-group-get-new-news-this-group 1))
6790 (pop to-groups)))
6781 6791
6782 (gnus-kill-buffer copy-buf) 6792 (gnus-kill-buffer copy-buf)
6783 (gnus-summary-position-point) 6793 (gnus-summary-position-point)
6784 (gnus-set-mode-line 'summary))) 6794 (gnus-set-mode-line 'summary)))
6785 6795