summaryrefslogtreecommitdiff
path: root/lisp/gnus
diff options
context:
space:
mode:
authorMiles Bader <miles@gnu.org>2006-03-28 23:08:20 +0000
committerMiles Bader <miles@gnu.org>2006-03-28 23:08:20 +0000
commit1ef7e5599f5aa981399221e657ff34e80cc2c1a3 (patch)
tree539ff4cf9ea84af29a4e8628d049f3a4253a51f4 /lisp/gnus
parent33bd75ec5fb277e58731c8cbbb942cba4d9a9f19 (diff)
parent29314e0fd78063d663bd272787d0ea81cc61e38e (diff)
downloademacs-1ef7e5599f5aa981399221e657ff34e80cc2c1a3.tar.gz
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-49
Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 164-184) - Update from CVS - Merge from gnus--rel--5.10 - Update from CVS: man/mh-e.texi (Folders): Various edits. - Update from erc--emacs--0 * gnus--rel--5.10 (patch 62-70) - Merge from emacs--devo--0 - Update from CVS
Diffstat (limited to 'lisp/gnus')
-rw-r--r--lisp/gnus/ChangeLog52
-rw-r--r--lisp/gnus/gnus-agent.el2
-rw-r--r--lisp/gnus/gnus-sum.el4
-rw-r--r--lisp/gnus/mm-decode.el19
-rw-r--r--lisp/gnus/mml.el2
-rw-r--r--lisp/gnus/nnimap.el18
-rw-r--r--lisp/gnus/rfc2231.el11
-rw-r--r--lisp/gnus/smiley.el1
-rw-r--r--lisp/gnus/spam.el16
9 files changed, 94 insertions, 31 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 48bbc095375..71940cac0db 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,55 @@
+2006-03-23 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * mml.el (mml-insert-mime): Ignore cached contents of
+ message/external-body part.
+
+ * mm-decode.el (mm-get-part): Add optional 'no-cache' argument.
+ (mm-insert-part): Ditto.
+
+2006-03-22 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * gnus-sum.el (gnus-map-articles): Don't funcall symbol macro.
+ Reported by Ralf Wachinger <rwachinger@gmx.de>.
+
+2006-03-23 Kenichi Handa <handa@m17n.org>
+
+ * rfc2231.el (rfc2231-encode-string): Use mm-disable-multibyte
+ instead of set-buffer-multibyte.
+
+2006-03-23 Kenichi Handa <handa@m17n.org>
+
+ * rfc2231.el (rfc2231-decode-encoded-string): Work on unibyte
+ buffer and then decode the buffer text if necessary.
+ (rfc2231-encode-string): Be sure to work on multibyte buffer at
+ first, and after mm-encode-body, change the buffer to unibyte.
+
+2006-03-21 Daniel Pittman <daniel@rimspace.net>
+
+ * nnimap.el (nnimap-request-update-info-internal): Optimize.
+ Don't `gnus-uncompress-range' to avoid excessive memory usage.
+
+2006-03-21 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * gnus-agent.el (gnus-agent-queue-mail): Fix custom tag for `t'.
+
+ * spam.el (spam-mark-new-messages-in-spam-group-as-spam): Add
+ comment on version.
+
+2006-03-20 Teodor Zlatanov <tzz@lifelogs.com>
+
+ * spam.el (spam-mark-new-messages-in-spam-group-as-spam): New
+ variable.
+ (spam-mark-junk-as-spam-routine): Use it. Allow to disable
+ assigning the spam-mark to new messages.
+
+2006-03-20 Adam Sj,Ax(Bgren <asjo@koldfront.dk> (tiny change)
+
+ (spam-ham-copy-or-move-routine): Don't declare `todo' twice.
+
+2006-03-20 Reiner Steib <Reiner.Steib@gmx.de>
+
+ * smiley.el: Add missing test smiley.
+
2006-03-17 Katsumi Yamaoka <yamaoka@jpl.org>
* mm-decode.el (mm-with-part): New macro.
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index c467c296fa0..123ad340ae1 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -204,7 +204,7 @@ queue. Otherwise, queue if and only if unplugged."
:group 'gnus-agent
:type '(radio (const :format "Always" always)
(const :format "Never" nil)
- (const :format "When plugged" t)))
+ (const :format "When unplugged" t)))
(defcustom gnus-agent-prompt-send-queue nil
"If non-nil, `gnus-group-send-queue' will prompt if called when
diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el
index e4ca47f1ea2..4fc01a8fad3 100644
--- a/lisp/gnus/gnus-sum.el
+++ b/lisp/gnus/gnus-sum.el
@@ -10619,7 +10619,9 @@ Returns nil if no thread was there to be shown."
(defun gnus-map-articles (predicate articles)
"Map PREDICATE over ARTICLES and return non-nil if any predicate is non-nil."
(apply 'gnus-or (mapcar predicate
- (mapcar 'gnus-summary-article-header articles))))
+ (mapcar (lambda (number)
+ (gnus-summary-article-header number))
+ articles))))
(defun gnus-summary-hide-all-threads (&optional predicate)
"Hide all thread subtrees.
diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el
index f0f1ee430ff..60cbb413473 100644
--- a/lisp/gnus/mm-decode.el
+++ b/lisp/gnus/mm-decode.el
@@ -1103,9 +1103,12 @@ external if displayed external."
(put 'mm-with-part 'lisp-indent-function 1)
(put 'mm-with-part 'edebug-form-spec '(body))
-(defun mm-get-part (handle)
- "Return the contents of HANDLE as a string."
- (if (equal (mm-handle-media-type handle) "message/external-body")
+(defun mm-get-part (handle &optional no-cache)
+ "Return the contents of HANDLE as a string.
+If NO-CACHE is non-nil, cached contents of a message/external-body part
+are ignored."
+ (if (and (not no-cache)
+ (equal (mm-handle-media-type handle) "message/external-body"))
(progn
(unless (mm-handle-cache handle)
(mm-extern-cache-contents handle))
@@ -1114,8 +1117,10 @@ external if displayed external."
(mm-with-part handle
(buffer-string))))
-(defun mm-insert-part (handle)
- "Insert the contents of HANDLE in the current buffer."
+(defun mm-insert-part (handle &optional no-cache)
+ "Insert the contents of HANDLE in the current buffer.
+If NO-CACHE is non-nil, cached contents of a message/external-body part
+are ignored."
(save-excursion
(insert
(cond ((eq (mail-content-type-get (mm-handle-type handle) 'charset)
@@ -1123,9 +1128,9 @@ external if displayed external."
(with-current-buffer (mm-handle-buffer handle)
(buffer-string)))
((mm-multibyte-p)
- (mm-string-as-multibyte (mm-get-part handle)))
+ (mm-string-as-multibyte (mm-get-part handle no-cache)))
(t
- (mm-get-part handle))))))
+ (mm-get-part handle no-cache))))))
(defun mm-file-name-delete-whitespace (file-name)
"Remove all whitespace characters from FILE-NAME."
diff --git a/lisp/gnus/mml.el b/lisp/gnus/mml.el
index 566aabcc6ba..6ae004a2a3b 100644
--- a/lisp/gnus/mml.el
+++ b/lisp/gnus/mml.el
@@ -792,7 +792,7 @@ If HANDLES is non-nil, use it instead reparsing the buffer."
(unless (setq textp (equal (mm-handle-media-supertype handle) "text"))
(save-excursion
(set-buffer (setq buffer (mml-generate-new-buffer " *mml*")))
- (mm-insert-part handle)
+ (mm-insert-part handle 'no-cache)
(if (setq mmlp (equal (mm-handle-media-type handle)
"message/rfc822"))
(mime-to-mml)))))
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 3c05b3713ea..bada9da6891 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -1127,18 +1127,12 @@ function is generally only called when Gnus is shutting down."
(let (seen unseen)
;; read info could contain articles marked unread by other
;; imap clients! we correct this
- (setq seen (gnus-uncompress-range (gnus-info-read info))
- unseen (imap-search "UNSEEN UNDELETED")
- seen (gnus-set-difference seen unseen)
- ;; seen might lack articles marked as read by other
- ;; imap clients! we correct this
- seen (append seen (imap-search "SEEN"))
- ;; remove dupes
- seen (sort seen '<)
- seen (gnus-compress-sequence seen t)
- ;; we can't return '(1) since this isn't a "list of ranges",
- ;; and we can't return '((1)) since g-list-of-unread-articles
- ;; is buggy so we return '((1 . 1)).
+ (setq unseen (gnus-compress-sequence
+ (imap-search "UNSEEN UNDELETED"))
+ seen (gnus-range-difference (gnus-info-read info) unseen)
+ seen (gnus-range-add seen
+ (gnus-compress-sequence
+ (imap-search "SEEN")))
seen (if (and (integerp (car seen))
(null (cdr seen)))
(list (cons (car seen) (car seen)))
diff --git a/lisp/gnus/rfc2231.el b/lisp/gnus/rfc2231.el
index 2099b20195d..a5827ecb70c 100644
--- a/lisp/gnus/rfc2231.el
+++ b/lisp/gnus/rfc2231.el
@@ -227,7 +227,7 @@ These look like:
(let ((coding-system (mm-charset-to-coding-system (match-string 2 string)))
;;(language (match-string 3 string))
(value (match-string 4 string)))
- (mm-with-multibyte-buffer
+ (mm-with-unibyte-buffer
(insert value)
(goto-char (point-min))
(while (search-forward "%" nil t)
@@ -236,9 +236,9 @@ These look like:
(string-to-number (buffer-substring (point) (+ (point) 2)) 16)
(delete-region (1- (point)) (+ (point) 2)))))
;; Decode using the charset, if any.
- (unless (memq coding-system '(nil ascii))
- (mm-decode-coding-region (point-min) (point-max) coding-system))
- (buffer-string))))
+ (if (memq coding-system '(nil ascii))
+ (buffer-string)
+ (mm-decode-coding-string (buffer-string) coding-system)))))
(defun rfc2231-encode-string (param value)
"Return and PARAM=VALUE string encoded according to RFC2231.
@@ -252,7 +252,7 @@ the result of this function."
;; Don't make lines exceeding 76 column.
(limit (- 74 (length param)))
spacep encodep charsetp charset broken)
- (with-temp-buffer
+ (mm-with-multibyte-buffer
(insert value)
(goto-char (point-min))
(while (not (eobp))
@@ -268,6 +268,7 @@ the result of this function."
(forward-char 1))
(when charsetp
(setq charset (mm-encode-body)))
+ (mm-disable-multibyte)
(cond
((or encodep charsetp
(progn
diff --git a/lisp/gnus/smiley.el b/lisp/gnus/smiley.el
index e8afe9dd10d..6476340f7bf 100644
--- a/lisp/gnus/smiley.el
+++ b/lisp/gnus/smiley.el
@@ -42,6 +42,7 @@
;; indifferent :-|
;; wry :-/ :-\
;; sad :-(
+;; frown :-{
;; evil >:-)
;; cry ;-(
;; dead X-)
diff --git a/lisp/gnus/spam.el b/lisp/gnus/spam.el
index ed5fd6e7980..047035536f2 100644
--- a/lisp/gnus/spam.el
+++ b/lisp/gnus/spam.el
@@ -100,6 +100,12 @@ spam groups."
:type 'boolean
:group 'spam)
+(defcustom spam-mark-new-messages-in-spam-group-as-spam t
+ "Whether new messages in a spam group should get the spam-mark."
+ :type 'boolean
+ ;; :version "22.1" ;; Gnus 5.10.8 / No Gnus 0.3
+ :group 'spam)
+
(defcustom spam-log-to-registry nil
"Whether spam/ham processing should be logged in the registry."
:type 'boolean
@@ -676,15 +682,17 @@ spam-use-* variable.")
;; check the global list of group names spam-junk-mailgroups and the
;; group parameters
(when (spam-group-spam-contents-p gnus-newsgroup-name)
- (gnus-message 5 "Marking %s articles as spam"
+ (gnus-message 6 "Marking %s articles as spam"
(if spam-mark-only-unseen-as-spam
"unseen"
"unread"))
(let ((articles (if spam-mark-only-unseen-as-spam
gnus-newsgroup-unseen
gnus-newsgroup-unreads)))
- (dolist (article articles)
- (gnus-summary-mark-article article gnus-spam-mark)))))
+ (if spam-mark-new-messages-in-spam-group-as-spam
+ (dolist (article articles)
+ (gnus-summary-mark-article article gnus-spam-mark))
+ (gnus-message 9 "Did not mark new messages as spam.")))))
(defun spam-mark-spam-as-expired-and-move-routine (&rest groups)
(if (and (car-safe groups) (listp (car-safe groups)))
@@ -732,7 +740,7 @@ spam-use-* variable.")
(gnus-check-backend-function
'request-move-article gnus-newsgroup-name))
(respool-method (gnus-find-method-for-group gnus-newsgroup-name))
- article mark todo deletep respool)
+ article mark deletep respool)
(when (member 'respool groups)
(setq respool t) ; boolean for later