;;; gnus-sum.el --- summary mode commands for Gnus
-;; Copyright (C) 1996-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1996-2013 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
:group 'gnus-summary-maneuvering
:type 'boolean)
-(defcustom gnus-auto-center-summary
+(defcustom gnus-auto-center-summary
(max (or (bound-and-true-p scroll-margin) 0) 2)
"*If non-nil, always center the current summary buffer.
In particular, if `vertical' do only vertical recentering. If non-nil
(defcustom gnus-summary-newsgroup-prefix "=> "
"*String prefixed to the Newsgroup field in the summary
-line when using `gnus-ignored-from-addresses'."
+line when using the option `gnus-ignored-from-addresses'."
:version "22.1"
:group 'gnus-summary
:type 'string)
(gnus-define-keys gnus-summary-mode-map
" " gnus-summary-next-page
+ [?\S-\ ] gnus-summary-prev-page
"\177" gnus-summary-prev-page
[delete] gnus-summary-prev-page
[backspace] gnus-summary-prev-page
(gnus-define-keys (gnus-summary-article-map "A" gnus-summary-mode-map)
" " gnus-summary-next-page
"n" gnus-summary-next-page
+ [?\S-\ ] gnus-summary-prev-page
"\177" gnus-summary-prev-page
[delete] gnus-summary-prev-page
"p" gnus-summary-prev-page
(set-buffer buffer)
(setq gnus-summary-buffer (current-buffer))
(not gnus-newsgroup-prepared))
- ;; Fix by Sudish Joseph <joseph@cis.ohio-state.edu>
- (setq gnus-summary-buffer (set-buffer (gnus-get-buffer-create buffer)))
+ (set-buffer (gnus-get-buffer-create buffer))
+ (setq gnus-summary-buffer (current-buffer))
(gnus-summary-mode group)
(when (gnus-group-quit-config group)
(set (make-local-variable 'gnus-single-article-buffer) nil))
(if (consp (car locals))
(set (caar locals) (pop vlist))
(set (car locals) (pop vlist)))
- (setq locals (cdr locals))))
- ;; The article buffer also has local variables.
- (when (gnus-buffer-live-p gnus-article-buffer)
- (set-buffer gnus-article-buffer)
- (setq gnus-summary-buffer summary))))))
+ (setq locals (cdr locals))))))))
(defun gnus-summary-article-unread-p (article)
"Say whether ARTICLE is unread or not."
(or (car (funcall gnus-extract-address-components from))
from))
-(defun gnus-summary-from-or-to-or-newsgroups (header gnus-tmp-from)
+(defun gnus-summary-from-or-to-or-newsgroups (header from)
(let ((mail-parse-charset gnus-newsgroup-charset)
- (ignored-from-addresses (gnus-ignored-from-addresses))
- ; Is it really necessary to do this next part for each summary line?
- ; Luckily, doesn't seem to slow things down much.
- (mail-parse-ignored-charsets
- (with-current-buffer gnus-summary-buffer
- gnus-newsgroup-ignored-charsets)))
+ (ignored-from-addresses (gnus-ignored-from-addresses))
+ ;; Is it really necessary to do this next part for each summary line?
+ ;; Luckily, doesn't seem to slow things down much.
+ (mail-parse-ignored-charsets
+ (with-current-buffer gnus-summary-buffer
+ gnus-newsgroup-ignored-charsets))
+ (address (cadr (gnus-extract-address-components from))))
(or
(and ignored-from-addresses
- (string-match ignored-from-addresses gnus-tmp-from)
+ (string-match ignored-from-addresses address)
(let ((extra-headers (mail-header-extra header))
to
newsgroups)
gnus-newsgroup-name)) 'nntp)
(gnus-group-real-name gnus-newsgroup-name))))
(concat gnus-summary-newsgroup-prefix newsgroups)))))
- (gnus-string-mark-left-to-right
- (inline
- (gnus-summary-extract-address-component gnus-tmp-from))))))
+ (gnus-string-mark-left-to-right (gnus-summary-extract-address-component from)))))
(defun gnus-summary-insert-line (gnus-tmp-header
gnus-tmp-level gnus-tmp-current
gnus-auto-select-first)
(progn
(let ((art (gnus-summary-article-number)))
- (unless (and (not gnus-plugged)
- (or (memq art gnus-newsgroup-undownloaded)
- (memq art gnus-newsgroup-downloadable)))
+ (when (and art
+ gnus-plugged
+ (not (memq art gnus-newsgroup-undownloaded))
+ (not (memq art gnus-newsgroup-downloadable)))
(gnus-summary-goto-article art))))
;; Don't select any articles.
(gnus-summary-position-point)
(cdr (assq number gnus-newsgroup-scored))
(memq number gnus-newsgroup-processable))))))
+(declare-function gnus-parameter-list-identifier "gnus-art" (name) t)
+
(defun gnus-group-get-list-identifiers (group)
"Get list identifier regexp for GROUP."
(or (gnus-parameter-list-identifier group)
(gnus-active gnus-newsgroup-name) del))
(push (list del 'del (list (cdr type))) delta-marks))))
- (when list
+ (when (or list
+ (eq (cdr type) 'unexist))
(push (cons (cdr type) list) newmarked)))
(when delta-marks
(unless quit-config
(setq gnus-newsgroup-name nil)))))
+(declare-function gnus-article-stop-animations "gnus-art" ())
+(declare-function gnus-stop-downloads "gnus-art" ())
+
(defalias 'gnus-summary-quit 'gnus-summary-exit-no-update)
(defun gnus-summary-exit-no-update (&optional no-questions)
"Quit reading current newsgroup without updating read article info."
(and gnus-auto-select-same
(gnus-summary-article-subject))))
+(declare-function gnus-article-only-boring-p "gnus-art" ())
+
(defun gnus-summary-next-page (&optional lines circular stop)
"Show next page of the selected article.
If at the end of the current article, select the next article.
Also see the variable `gnus-article-skip-boring'."
(interactive "P")
- (setq gnus-summary-buffer (current-buffer))
(gnus-set-global-variables)
(let ((article (gnus-summary-article-number))
(article-window (get-buffer-window gnus-article-buffer t))
(interactive "sMatch headers (regexp): \nP")
(gnus-summary-limit-to-bodies match reverse t))
+(declare-function article-goto-body "gnus-art" ())
+
(defun gnus-summary-limit-to-bodies (match &optional reverse headersp)
"Limit the summary buffer to articles that have bodies that match MATCH.
If REVERSE (the prefix), limit to articles that don't match."
(ps-spool-buffer-with-faces)
(ps-spool-buffer)))))
+(declare-function gnus-flush-original-article-buffer "gnus-art" ())
+
(defun gnus-summary-show-complete-article ()
"Show a complete version of the current article.
This is only useful if you're looking at a partial version of the
t)))
(gnus-summary-show-article))
+(declare-function article-narrow-to-head "gnus-art" ())
+(declare-function gnus-article-hidden-text-p "gnus-art" (type))
+(declare-function gnus-delete-wash-type "gnus-art" (type))
+
(defun gnus-summary-toggle-header (&optional arg)
"Show the headers if they are hidden, or hide them if they are shown.
If ARG is a positive number, show the entire header.
(when (message-goto-body)
(gnus-narrow-to-body))
(goto-char (point-min))
- (while (search-forward "·" (point-max) t)
+ (while (search-forward "·" (point-max) t)
(replace-match "."))
(unmorse-region (point-min) (point-max))
(widen)
(gnus-set-mode-line 'summary)
n))
+(declare-function gnus-summary-save-in-pipe "gnus-art" (&optional command raw))
+
(defun gnus-summary-pipe-output (&optional n sym)
"Pipe the current article to a subprocess.
If N is a positive number, pipe the N next articles.
(not (gnus-ephemeral-group-p (car where))))
(gnus-registry-handle-action
(mail-header-id header) nil
- (gnus-group-prefixed-name (car where) gnus-override-method)
+ (gnus-group-prefixed-name
+ (car where)
+ (or gnus-override-method (gnus-find-method-for-group group)))
(mail-header-subject header)
(mail-header-from header)))
(when (and (stringp id)
(setq gnus-newsgroup-headers
(gnus-merge 'list
gnus-newsgroup-headers
- (gnus-fetch-headers articles)
+ (gnus-fetch-headers articles nil t)
'gnus-article-sort-by-number))
(setq gnus-newsgroup-articles
(gnus-sorted-nunion gnus-newsgroup-articles articles))
(gnus-summary-position-point))
;;; Bookmark support for Gnus.
+(declare-function gnus-article-show-summary "gnus-art" ())
(declare-function bookmark-make-record-default
"bookmark" (&optional no-file no-context posn))
(declare-function bookmark-prop-get "bookmark" (bookmark prop))
(run-hooks 'gnus-sum-load-hook)
;; Local Variables:
-;; coding: iso-8859-1
+;; coding: utf-8
;; End:
;;; gnus-sum.el ends here