aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGnus developers2010-09-26 23:01:31 +0000
committerKatsumi Yamaoka2010-09-26 23:01:31 +0000
commit4478e0748856d1ed3f79305ac9b268d642cd3d16 (patch)
treee34815bc367f5b96838c45725e2d02d51ef5cc36
parent15413fb4286715ba79c3e6fb20c0df1a125770f8 (diff)
downloademacs-4478e0748856d1ed3f79305ac9b268d642cd3d16.tar.gz
emacs-4478e0748856d1ed3f79305ac9b268d642cd3d16.zip
mail-source.el (mail-source-value): Revert previous patch.
gnus-picon.el: Inhibit showing picons for top level domains. gnus-art.el (gnus-article-treat-body-boundary): Fix length computing. gnus-news.texi: Mention nnimap-inbox. nnimap.el (nnimap-request-expire-articles): Compress ranges before deletion. nnimap.el (nnimap-retrieve-headers): Don't select the group, because that's already done by nnimap-possibly-change-group. gnus-html.el (gnus-html-show-images): Fix gnus-html-display-image arguments. gnus-html.el (gnus-html-wash-images): Fix spec computing to include start/end. nnimap.el: Store the IMAP greeting, so that we can tell what kind of server we're talking to. gnus.el (gnus): Give a final warning after startup. gnus-ems.el (gnus-create-image): Ignore all image-creation errors. nndraft.el (nndraft-request-expire-articles): Fetch the expiry target for the correct group. nnmh.el (nnmh-request-expire-articles): Don't try to fetch the expiry target here, because we don't know the Gnus name of the group. nnimap.el (nnimap-get-whole-article): Remove the data that may have arrived before the FETCH data. gnus-agent.el (gnus-agent-retrieve-headers): Don't propagate `fetch-old'. gnus-agent.el (gnus-agent-read-servers-validate): Change the level for the "Ignoring disappeared server" to something low. nndoc.el (nndoc-request-list): Return success always.
-rw-r--r--doc/misc/gnus-news.texi6
-rw-r--r--doc/misc/gnus.texi6
-rw-r--r--lisp/gnus/gnus-agent.el4
-rw-r--r--lisp/gnus/gnus-art.el4
-rw-r--r--lisp/gnus/gnus-ems.el3
-rw-r--r--lisp/gnus/gnus-html.el2
-rw-r--r--lisp/gnus/gnus-picon.el10
-rw-r--r--lisp/gnus/gnus-util.el20
-rw-r--r--lisp/gnus/gnus.el4
-rw-r--r--lisp/gnus/nndoc.el2
-rw-r--r--lisp/gnus/nndraft.el5
-rw-r--r--lisp/gnus/nnimap.el19
-rw-r--r--lisp/gnus/nnmh.el3
13 files changed, 64 insertions, 24 deletions
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi
index 7d654820440..028539a7fb4 100644
--- a/doc/misc/gnus-news.texi
+++ b/doc/misc/gnus-news.texi
@@ -68,8 +68,10 @@ remove-installed-shadows}.
68 68
69@item New version of @code{nnimap} 69@item New version of @code{nnimap}
70 70
71@code{nnimap} has been reimplemented in a mostly-compatible way. 71@code{nnimap} has been reimplemented in a mostly-compatible way. See
72@c Mention any incompatibilities. 72the Gnus manual for a description of the new interface. In
73particular, @code{nnimap-inbox} and the client side split method has
74changed.
73 75
74@item Gnus includes the Emacs Lisp @acronym{SASL} library. 76@item Gnus includes the Emacs Lisp @acronym{SASL} library.
75 77
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 1914fb0bc74..c1acf7e0d8a 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -23233,6 +23233,12 @@ want to add @samp{"unknown"} to this list.
23233Ordered list of suffixes on picon file names to try. Defaults to 23233Ordered list of suffixes on picon file names to try. Defaults to
23234@code{("xpm" "gif" "xbm")} minus those not built-in your Emacs. 23234@code{("xpm" "gif" "xbm")} minus those not built-in your Emacs.
23235 23235
23236@item gnus-picon-inhibit-top-level-domains
23237@vindex gnus-picon-inhibit-top-level-domains
23238If non-@code{nil} (which is the default), don't display picons for
23239things like @samp{.net} and @samp{.de}, which aren't usually very
23240interesting.
23241
23236@end table 23242@end table
23237 23243
23238@node Gravatars 23244@node Gravatars
diff --git a/lisp/gnus/gnus-agent.el b/lisp/gnus/gnus-agent.el
index 8112565ba54..4788deba5da 100644
--- a/lisp/gnus/gnus-agent.el
+++ b/lisp/gnus/gnus-agent.el
@@ -1026,7 +1026,7 @@ supported."
1026 (unless (member server gnus-agent-covered-methods) 1026 (unless (member server gnus-agent-covered-methods)
1027 (push server gnus-agent-covered-methods) 1027 (push server gnus-agent-covered-methods)
1028 (setq gnus-agent-method-p-cache nil)) 1028 (setq gnus-agent-method-p-cache nil))
1029 (gnus-message 1 "Ignoring disappeared server `%s'" server)))) 1029 (gnus-message 8 "Ignoring disappeared server `%s'" server))))
1030 (prog1 gnus-agent-covered-methods 1030 (prog1 gnus-agent-covered-methods
1031 (setq gnus-agent-covered-methods nil)))) 1031 (setq gnus-agent-covered-methods nil))))
1032 1032
@@ -3752,7 +3752,7 @@ has been fetched."
3752 (erase-buffer) 3752 (erase-buffer)
3753 (cond ((not (eq 'nov (let (gnus-agent) ; Turn off agent 3753 (cond ((not (eq 'nov (let (gnus-agent) ; Turn off agent
3754 (gnus-retrieve-headers 3754 (gnus-retrieve-headers
3755 uncached-articles group fetch-old)))) 3755 uncached-articles group))))
3756 (nnvirtual-convert-headers)) 3756 (nnvirtual-convert-headers))
3757 ((eq 'nntp (car gnus-current-select-method)) 3757 ((eq 'nntp (car gnus-current-select-method))
3758 ;; The author of gnus-get-newsgroup-headers-xover 3758 ;; The author of gnus-get-newsgroup-headers-xover
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index ad6ccb213cf..5662bfa5e8b 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -2301,9 +2301,9 @@ long lines if and only if arg is positive."
2301 (insert "X-Boundary: ") 2301 (insert "X-Boundary: ")
2302 (gnus-add-text-properties start (point) '(invisible t intangible t)) 2302 (gnus-add-text-properties start (point) '(invisible t intangible t))
2303 (insert (let (str) 2303 (insert (let (str)
2304 (while (>= (1- (window-width)) (length str)) 2304 (while (>= (window-width) (length str))
2305 (setq str (concat str gnus-body-boundary-delimiter))) 2305 (setq str (concat str gnus-body-boundary-delimiter)))
2306 (substring str 0 (1- (window-width)))) 2306 (substring str 0 (window-width)))
2307 "\n") 2307 "\n")
2308 (gnus-put-text-property start (point) 'gnus-decoration 'header))))) 2308 (gnus-put-text-property start (point) 'gnus-decoration 'header)))))
2309 2309
diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el
index 9c395dbf24a..7b3f3d8a80e 100644
--- a/lisp/gnus/gnus-ems.el
+++ b/lisp/gnus/gnus-ems.el
@@ -272,7 +272,8 @@
272 (when face 272 (when face
273 (setq props (plist-put props :foreground (face-foreground face))) 273 (setq props (plist-put props :foreground (face-foreground face)))
274 (setq props (plist-put props :background (face-background face)))) 274 (setq props (plist-put props :background (face-background face))))
275 (apply 'create-image file type data-p props))) 275 (ignore-errors
276 (apply 'create-image file type data-p props))))
276 277
277(defun gnus-put-image (glyph &optional string category) 278(defun gnus-put-image (glyph &optional string category)
278 (let ((point (point))) 279 (let ((point (point)))
diff --git a/lisp/gnus/gnus-html.el b/lisp/gnus/gnus-html.el
index cb5d3c6e30b..587c28e974a 100644
--- a/lisp/gnus/gnus-html.el
+++ b/lisp/gnus/gnus-html.el
@@ -226,7 +226,7 @@ CHARS is a regexp-like character alternative (e.g., \"[)$]\")."
226 :keymap gnus-html-image-map 226 :keymap gnus-html-image-map
227 :button-keymap gnus-html-image-map) 227 :button-keymap gnus-html-image-map)
228 (let ((overlay (gnus-make-overlay start end)) 228 (let ((overlay (gnus-make-overlay start end))
229 (spec (list url alt-text))) 229 (spec (list url start end alt-text)))
230 (gnus-overlay-put overlay 'local-map gnus-html-image-map) 230 (gnus-overlay-put overlay 'local-map gnus-html-image-map)
231 (gnus-overlay-put overlay 'gnus-image spec) 231 (gnus-overlay-put overlay 'gnus-image spec)
232 (gnus-put-text-property 232 (gnus-put-text-property
diff --git a/lisp/gnus/gnus-picon.el b/lisp/gnus/gnus-picon.el
index 97cd8207162..3cc7c3701c5 100644
--- a/lisp/gnus/gnus-picon.el
+++ b/lisp/gnus/gnus-picon.el
@@ -85,6 +85,12 @@ added right to the textual representation."
85 (const right)) 85 (const right))
86 :group 'gnus-picon) 86 :group 'gnus-picon)
87 87
88(defcustom gnus-picon-inhibit-top-level-domains t
89 "If non-nil, don't piconify top-level domains.
90These are often not very interesting."
91 :type 'boolean
92 :group 'gnus-picon)
93
88;;; Internal variables: 94;;; Internal variables:
89 95
90(defvar gnus-picon-glyph-alist nil 96(defvar gnus-picon-glyph-alist nil
@@ -188,7 +194,9 @@ replacement is added."
188 (setcar spec (cons (gnus-picon-create-glyph file) 194 (setcar spec (cons (gnus-picon-create-glyph file)
189 (car spec)))) 195 (car spec))))
190 196
191 (dotimes (i (1- (length spec))) 197 (dotimes (i (- (length spec)
198 (if gnus-picon-inhibit-top-level-domains
199 2 1)))
192 (when (setq file (gnus-picon-find-face 200 (when (setq file (gnus-picon-find-face
193 (concat "unknown@" 201 (concat "unknown@"
194 (mapconcat 202 (mapconcat
diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el
index ead48f43cea..5ebccc03f0f 100644
--- a/lisp/gnus/gnus-util.el
+++ b/lisp/gnus/gnus-util.el
@@ -601,6 +601,8 @@ but also to the ones displayed in the echo area."
601 (t 601 (t
602 (apply 'message ,format-string ,args)))))))) 602 (apply 'message ,format-string ,args))))))))
603 603
604(defvar gnus-action-message-log nil)
605
604(defun gnus-message-with-timestamp (format-string &rest args) 606(defun gnus-message-with-timestamp (format-string &rest args)
605 "Display message with timestamp. Arguments are the same as `message'. 607 "Display message with timestamp. Arguments are the same as `message'.
606The `gnus-add-timestamp-to-message' variable controls how to add 608The `gnus-add-timestamp-to-message' variable controls how to add
@@ -615,14 +617,26 @@ Guideline for numbers:
615that take a long time, 7 - not very important messages on stuff, 9 - messages 617that take a long time, 7 - not very important messages on stuff, 9 - messages
616inside loops." 618inside loops."
617 (if (<= level gnus-verbose) 619 (if (<= level gnus-verbose)
618 (if gnus-add-timestamp-to-message 620 (let ((message
619 (apply 'gnus-message-with-timestamp args) 621 (if gnus-add-timestamp-to-message
620 (apply 'message args)) 622 (apply 'gnus-message-with-timestamp args)
623 (apply 'message args))))
624 (when (and (consp gnus-action-message-log)
625 (<= level 3))
626 (push message gnus-action-message-log))
627 message)
621 ;; We have to do this format thingy here even if the result isn't 628 ;; We have to do this format thingy here even if the result isn't
622 ;; shown - the return value has to be the same as the return value 629 ;; shown - the return value has to be the same as the return value
623 ;; from `message'. 630 ;; from `message'.
624 (apply 'format args))) 631 (apply 'format args)))
625 632
633(defun gnus-final-warning ()
634 (when (and (consp gnus-action-message-log)
635 (setq gnus-action-message-log
636 (delete nil gnus-action-message-log)))
637 (message "Warning: %s"
638 (mapconcat #'identity gnus-action-message-log "; "))))
639
626(defun gnus-error (level &rest args) 640(defun gnus-error (level &rest args)
627 "Beep an error if LEVEL is equal to or less than `gnus-verbose'. 641 "Beep an error if LEVEL is equal to or less than `gnus-verbose'.
628ARGS are passed to `message'." 642ARGS are passed to `message'."
diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el
index ee504597535..2024721ab0a 100644
--- a/lisp/gnus/gnus.el
+++ b/lisp/gnus/gnus.el
@@ -4366,7 +4366,9 @@ prompt the user for the name of an NNTP server to use."
4366 (unless (byte-code-function-p (symbol-function 'gnus)) 4366 (unless (byte-code-function-p (symbol-function 'gnus))
4367 (message "You should byte-compile Gnus") 4367 (message "You should byte-compile Gnus")
4368 (sit-for 2)) 4368 (sit-for 2))
4369 (gnus-1 arg dont-connect slave)) 4369 (let ((gnus-action-message-log (list nil)))
4370 (gnus-1 arg dont-connect slave)
4371 (gnus-final-warning)))
4370 4372
4371;; Allow redefinition of Gnus functions. 4373;; Allow redefinition of Gnus functions.
4372 4374
diff --git a/lisp/gnus/nndoc.el b/lisp/gnus/nndoc.el
index 2eeaeba0512..15e5e82c6f9 100644
--- a/lisp/gnus/nndoc.el
+++ b/lisp/gnus/nndoc.el
@@ -298,7 +298,7 @@ from the document.")
298 t) 298 t)
299 299
300(deffoo nndoc-request-list (&optional server) 300(deffoo nndoc-request-list (&optional server)
301 nil) 301 t)
302 302
303(deffoo nndoc-request-newgroups (date &optional server) 303(deffoo nndoc-request-newgroups (date &optional server)
304 nil) 304 nil)
diff --git a/lisp/gnus/nndraft.el b/lisp/gnus/nndraft.el
index 313675c2fac..5dc51f321c5 100644
--- a/lisp/gnus/nndraft.el
+++ b/lisp/gnus/nndraft.el
@@ -222,6 +222,11 @@ are generated if and only if they are also in `message-draft-headers'.")
222(deffoo nndraft-request-expire-articles (articles group &optional server force) 222(deffoo nndraft-request-expire-articles (articles group &optional server force)
223 (nndraft-possibly-change-group group) 223 (nndraft-possibly-change-group group)
224 (let* ((nnmh-allow-delete-final t) 224 (let* ((nnmh-allow-delete-final t)
225 (nnmail-expiry-target
226 (or (gnus-group-find-parameter
227 (gnus-group-prefixed-name "nndraft" (list 'nndraft server))
228 'expiry-target t)
229 nnmail-expiry-target))
225 (res (nnoo-parent-function 'nndraft 230 (res (nnoo-parent-function 'nndraft
226 'nnmh-request-expire-articles 231 'nnmh-request-expire-articles
227 (list articles group server force))) 232 (list articles group server force)))
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el
index 8c3e6ea9a57..a99ee088330 100644
--- a/lisp/gnus/nnimap.el
+++ b/lisp/gnus/nnimap.el
@@ -96,7 +96,7 @@ some servers.")
96 96
97(defstruct nnimap 97(defstruct nnimap
98 group process commands capabilities select-result newlinep server 98 group process commands capabilities select-result newlinep server
99 last-command-time) 99 last-command-time greeting)
100 100
101(defvar nnimap-object nil) 101(defvar nnimap-object nil)
102 102
@@ -119,7 +119,6 @@ some servers.")
119 (erase-buffer) 119 (erase-buffer)
120 (when (nnimap-possibly-change-group group server) 120 (when (nnimap-possibly-change-group group server)
121 (with-current-buffer (nnimap-buffer) 121 (with-current-buffer (nnimap-buffer)
122 (nnimap-send-command "SELECT %S" (utf7-encode group t))
123 (erase-buffer) 122 (erase-buffer)
124 (nnimap-wait-for-response 123 (nnimap-wait-for-response
125 (nnimap-send-command 124 (nnimap-send-command
@@ -318,6 +317,9 @@ some servers.")
318 (nnheader-report 'nnimap 317 (nnheader-report 'nnimap
319 "%s" (buffer-substring 318 "%s" (buffer-substring
320 (point) (line-end-position))) 319 (point) (line-end-position)))
320 (setf (nnimap-greeting nnimap-object)
321 (buffer-substring (line-beginning-position)
322 (line-end-position)))
321 (when (eq nnimap-stream 'starttls) 323 (when (eq nnimap-stream 'starttls)
322 (nnimap-command "STARTTLS") 324 (nnimap-command "STARTTLS")
323 (starttls-negotiate (nnimap-process nnimap-object))) 325 (starttls-negotiate (nnimap-process nnimap-object)))
@@ -419,10 +421,13 @@ some servers.")
419 article))) 421 article)))
420 ;; Check that we really got an article. 422 ;; Check that we really got an article.
421 (goto-char (point-min)) 423 (goto-char (point-min))
422 (unless (looking-at "\\* [0-9]+ FETCH") 424 (unless (re-search-forward "\\* [0-9]+ FETCH" nil t)
423 (setq result nil)) 425 (setq result nil))
424 (when result 426 (when result
425 (goto-char (point-min)) 427 ;; Remove any data that may have arrived before the FETCH data.
428 (beginning-of-line)
429 (unless (bobp)
430 (delete-region (point-min) (point)))
426 (let ((bytes (nnimap-get-length))) 431 (let ((bytes (nnimap-get-length)))
427 (delete-region (line-beginning-position) 432 (delete-region (line-beginning-position)
428 (progn (forward-line 1) (point))) 433 (progn (forward-line 1) (point)))
@@ -626,7 +631,7 @@ some servers.")
626 articles) 631 articles)
627 ((and force 632 ((and force
628 (eq nnmail-expiry-target 'delete)) 633 (eq nnmail-expiry-target 'delete))
629 (unless (nnimap-delete-article articles) 634 (unless (nnimap-delete-article (gnus-compress-sequence articles))
630 (message "Article marked for deletion, but not expunged.")) 635 (message "Article marked for deletion, but not expunged."))
631 nil) 636 nil)
632 (t 637 (t
@@ -640,7 +645,7 @@ some servers.")
640 (if (null deletable-articles) 645 (if (null deletable-articles)
641 articles 646 articles
642 (if (eq nnmail-expiry-target 'delete) 647 (if (eq nnmail-expiry-target 'delete)
643 (nnimap-delete-article deletable-articles) 648 (nnimap-delete-article (gnus-compress-sequence deletable-articles))
644 (setq deletable-articles 649 (setq deletable-articles
645 (nnimap-process-expiry-targets 650 (nnimap-process-expiry-targets
646 deletable-articles group server))) 651 deletable-articles group server)))
@@ -667,7 +672,7 @@ some servers.")
667 ;; Change back to the current group again. 672 ;; Change back to the current group again.
668 (nnimap-possibly-change-group group server) 673 (nnimap-possibly-change-group group server)
669 (setq deleted-articles (nreverse deleted-articles)) 674 (setq deleted-articles (nreverse deleted-articles))
670 (nnimap-delete-article deleted-articles) 675 (nnimap-delete-article (gnus-compress-sequence deleted-articles))
671 deleted-articles)) 676 deleted-articles))
672 677
673(defun nnimap-find-expired-articles (group) 678(defun nnimap-find-expired-articles (group)
diff --git a/lisp/gnus/nnmh.el b/lisp/gnus/nnmh.el
index cdd540a993b..984144e0d9a 100644
--- a/lisp/gnus/nnmh.el
+++ b/lisp/gnus/nnmh.el
@@ -258,9 +258,6 @@ as unread by Gnus.")
258 &optional server force) 258 &optional server force)
259 (nnmh-possibly-change-directory newsgroup server) 259 (nnmh-possibly-change-directory newsgroup server)
260 (let ((is-old t) 260 (let ((is-old t)
261 (nnmail-expiry-target
262 (or (gnus-group-find-parameter newsgroup 'expiry-target t)
263 nnmail-expiry-target))
264 article rest mod-time) 261 article rest mod-time)
265 (nnheader-init-server-buffer) 262 (nnheader-init-server-buffer)
266 263