summaryrefslogtreecommitdiff
path: root/lisp/gnus/gnus-sum.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2019-05-17 00:09:16 -0400
committerStefan Monnier <monnier@iro.umontreal.ca>2019-05-17 00:09:16 -0400
commita93e672e279adc45782254a66520471c336ed4ac (patch)
tree601e2754d8cdc903a4491dde4829a7b337e87dc0 /lisp/gnus/gnus-sum.el
parent9843e7b6b159d66feaaa2c5f67e3d7fd0c63af1d (diff)
downloademacs-a93e672e279adc45782254a66520471c336ed4ac.tar.gz
* lisp/gnus: Remove assumptions about mail-header being a vector
Use `mail-header-p` and `make-full-mail-header` instead of `vectorp` and `vector`, respectively. * lisp/gnus/message.el (message-cite-original-1, message-reply) (message-followup): * lisp/gnus/gnus-sum.el (gnus-get-newsgroup-headers): Use make-full-mail-header instead of `vector`. (gnus--dummy-mail-header): New const, using make-full-mail-header. (gnus-update-summary-mark-positions): Use it instead of an immediate vector. (gnus-set-mode-line, gnus-summary-article-pseudo-p) (gnus-summary-article-subject, gnus-summary-insert-subject) (gnus-summary-find-subject, gnus-summary-goto-subject) (gnus-summary-limit-to-age, gnus-summary-find-matching) (gnus-summary-mark-article-as-unread, gnus-summary-mark-article) (gnus-summary-save-article): * lisp/gnus/gnus.el (gnus-news-group-p): Use mail-header-p instead of vectorp.
Diffstat (limited to 'lisp/gnus/gnus-sum.el')
-rw-r--r--lisp/gnus/gnus-sum.el32
1 files changed, 17 insertions, 15 deletions
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index 00f0de61d7f..f761fdb7945 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -3267,7 +3267,7 @@ The following commands are available:
(defun gnus-summary-article-pseudo-p (article)
"Say whether this article is a pseudo article or not."
- (not (vectorp (gnus-data-header (gnus-data-find article)))))
+ (not (mail-header-p (gnus-data-header (gnus-data-find article)))))
(defmacro gnus-summary-article-sparse-p (article)
"Say whether this article is a sparse article or not."
@@ -3343,7 +3343,7 @@ article number."
'(gnus-data-header (assq (gnus-summary-article-number)
gnus-newsgroup-data)))))
(and headers
- (vectorp headers)
+ (mail-header-p headers)
(mail-header-subject headers))))
(defmacro gnus-summary-article-score (&optional number)
@@ -3600,6 +3600,9 @@ buffer that was in action when the last article was fetched."
t
(not (cdr (gnus-data-find-list article)))))
+(defconst gnus--dummy-mail-header
+ (make-full-mail-header 0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil))
+
(defun gnus-make-thread-indent-array (&optional n)
(when (or n
(progn (setq n 200) nil)
@@ -3628,10 +3631,9 @@ buffer that was in action when the last article was fetched."
(gnus-undownloaded-mark ?Z)
(gnus-summary-line-format-spec spec)
(gnus-newsgroup-downloadable '(0))
- (header [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil])
case-fold-search ignores)
;; Here, all marks are bound to Z.
- (gnus-summary-insert-line header
+ (gnus-summary-insert-line gnus--dummy-mail-header
0 nil t gnus-tmp-unread t nil "" nil 1)
(goto-char (point-min))
;; Memorize the positions of the same characters as dummy marks.
@@ -3645,7 +3647,7 @@ buffer that was in action when the last article was fetched."
gnus-score-below-mark ?C
gnus-score-over-mark ?C
gnus-undownloaded-mark ?D)
- (gnus-summary-insert-line header
+ (gnus-summary-insert-line gnus--dummy-mail-header
0 nil t gnus-tmp-unread t nil "" nil 1)
;; Ignore characters which aren't dummy marks.
(dolist (p ignores)
@@ -6219,7 +6221,7 @@ If WHERE is `summary', the summary mode line format will be used."
gnus-tmp-unselected))))
(gnus-tmp-subject
(if (and gnus-current-headers
- (vectorp gnus-current-headers))
+ (mail-header-p gnus-current-headers))
(gnus-mode-string-quote
(mail-header-subject gnus-current-headers))
""))
@@ -6436,7 +6438,7 @@ The resulting hash table is returned, or nil if no Xrefs were found."
;; doesn't always go hand in hand.
(setq
header
- (vector
+ (make-full-mail-header
;; Number.
(prog1
(setq number (read cur))
@@ -6649,7 +6651,7 @@ If USE-OLD-HEADER is non-nil, then OLD-HEADER should be a header,
and OLD-HEADER will be used when the summary line is inserted,
too, instead of trying to fetch new headers."
(let* ((line (and (numberp old-header) old-header))
- (old-header (and (vectorp old-header) old-header))
+ (old-header (and (mail-header-p old-header) old-header))
(header (cond ((and old-header use-old-header)
old-header)
((and (numberp id)
@@ -6887,7 +6889,7 @@ If EXCLUDE-GROUP, do not go to this group."
(while arts
(and (or (not unread)
(gnus-data-unread-p (car arts)))
- (vectorp (gnus-data-header (car arts)))
+ (mail-header-p (gnus-data-header (car arts)))
(gnus-subject-equal
simp-subject (mail-header-subject (gnus-data-header (car arts))) t)
(setq result (car arts)
@@ -7724,7 +7726,7 @@ If FORCE, also allow jumping to articles not currently shown."
force
(gnus-summary-insert-subject
article
- (if (or (numberp force) (vectorp force)) force)
+ (if (or (numberp force) (mail-header-p force)) force)
t)
(setq data (gnus-data-find article)))
(goto-char b)
@@ -8469,7 +8471,7 @@ articles that are younger than AGE days."
(cutoff (days-to-time age))
articles d date is-younger)
(while (setq d (pop data))
- (when (and (vectorp (gnus-data-header d))
+ (when (and (mail-header-p (gnus-data-header d))
(setq date (mail-header-date (gnus-data-header d))))
(setq is-younger (time-less-p
(time-since (gnus-date-get-time date))
@@ -9614,7 +9616,7 @@ not match REGEXP on HEADER."
(gnus-data-list backward))))
(when (and (or (not unread) ; We want all articles...
(gnus-data-unread-p d)) ; Or just unreads.
- (vectorp (gnus-data-header d)) ; It's not a pseudo.
+ (mail-header-p (gnus-data-header d)) ; It's not a pseudo.
(if not-matching
(not (string-match
regexp
@@ -11151,7 +11153,7 @@ If NO-EXPIRE, auto-expiry will be inhibited."
;; See whether the article is to be put in the cache.
(and gnus-use-cache
- (vectorp (gnus-summary-article-header article))
+ (mail-header-p (gnus-summary-article-header article))
(save-excursion
(gnus-cache-possibly-enter-article
gnus-newsgroup-name article
@@ -11198,7 +11200,7 @@ If NO-EXPIRE, auto-expiry will be inhibited."
;; See whether the article is to be put in the cache.
(and gnus-use-cache
(not (= mark gnus-canceled-mark))
- (vectorp (gnus-summary-article-header article))
+ (mail-header-p (gnus-summary-article-header article))
(save-excursion
(gnus-cache-possibly-enter-article
gnus-newsgroup-name article
@@ -12147,7 +12149,7 @@ performed."
header file)
(dolist (article articles)
(setq header (gnus-summary-article-header article))
- (if (not (vectorp header))
+ (if (not (mail-header-p header))
;; This is a pseudo-article.
(if (assq 'name header)
(gnus-copy-file (cdr (assq 'name header)))