]> git.eshelyaron.com Git - emacs.git/commitdiff
Merge changes made in Gnus trunk.
authorGnus developers <ding@gnus.org>
Sat, 11 Dec 2010 01:27:14 +0000 (01:27 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Sat, 11 Dec 2010 01:27:14 +0000 (01:27 +0000)
nnir.el (nnir-request-expire-articles): Only allow article deletion.
message.el (message-bogus-recipient-p): Set address to "" if nil.
gnus-gravatar.el (gnus-gravatar-transform-address): Fix error when email address is nil.
proto-stream.el (proto-stream-open-network-only): New function to have a way to specify non-STARTTLS upgrade connections.

doc/misc/gnus.texi
lisp/gnus/ChangeLog
lisp/gnus/gnus-gravatar.el
lisp/gnus/message.el
lisp/gnus/nnir.el
lisp/gnus/nntp.el
lisp/gnus/proto-stream.el

index 2df6d90cc07acadb0f1a1fac1531585b5cdc7608..9f4d1f75ede14f349b7e952d28bba8315247ddbc 100644 (file)
@@ -14445,6 +14445,9 @@ remote system.  If both Emacs and the server supports it, the
 connection will be upgraded to an encrypted @acronym{STARTTLS}
 connection automatically.
 
+@item network-only
+The same as the above, but don't do automatic @acronym{STARTTLS} upgrades.
+
 @findex nntp-open-tls-stream
 @item nntp-open-tls-stream
 Opens a connection to a server over a @dfn{secure} channel.  To use
index 18cc915b11187f0bc5de5cd50ecbf976cf0d1f5e..2ff18436ed66a8bc769a8a086bad4bea03390272 100644 (file)
@@ -1,3 +1,21 @@
+2010-12-10  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * proto-stream.el (proto-stream-open-network-only): New function to
+       have a way to specify non-STARTTLS upgrade connections.
+
+2010-12-10  Julien Danjou  <julien@danjou.info>
+
+       * gnus-gravatar.el (gnus-gravatar-transform-address): Fix error when
+       email address is nil.
+
+       * message.el (message-bogus-recipient-p): Set address to "" if nil.
+
+2010-12-10  Andrew Cohen  <cohen@andy.bu.edu>
+
+       * nnir.el (nnir-request-expire-articles): Ignore expiry except for
+       deletion.
+       (nnir-run-imap): Only need to parse list once.
+
 2010-12-09  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * shr.el (shr-tag-script): Ignore <script>.
index 27f65c040946ca12342096e67bc99e5612bddb38..1bd64e9533ffb8e475e1e771e81ae3c4b6a89bf6 100644 (file)
@@ -65,7 +65,7 @@ If nil, default to `gravatar-size'."
        (when (or force
                  (not (and gnus-gravatar-too-ugly
                            (or (string-match gnus-gravatar-too-ugly
-                                             (cadr address))
+                                             (or (cadr address) ""))
                                (and name
                                     (string-match gnus-gravatar-too-ugly
                                                   name))))))
index de9eef5ea73b6e3e6a58929dc44900a2ac523ff9..78652fb2ee0191b8c361c84cf1b7fed635e69493 100644 (file)
@@ -4261,9 +4261,10 @@ matching entry in `message-bogus-addresses'."
   ;; FIXME: How about "foo@subdomain", when the MTA adds ".domain.tld"?
   (let (found)
     (mapc (lambda (address)
-           (setq address (cadr address))
+           (setq address (or (cadr address) ""))
            (when
-               (or (not
+               (or (string= "" address)
+                    (not
                     (or
                      (not (string-match "@" address))
                      (string-match
@@ -4277,7 +4278,7 @@ matching entry in `message-bogus-addresses'."
                                               "\\|")
                                  message-bogus-addresses)))
                           (string-match re address))))
-                        (push address found)))
+              (push address found)))
          ;;
          (mail-extract-address-components recipients t))
     found))
index 726b01564e75070600505eb2334ca599a9add2b3..3b1d3246c0145fe51d33ce96e9d51a4cbb38185e 100644 (file)
@@ -688,23 +688,25 @@ Add an entry here when adding a new search engine.")
          (gnus-group-real-name to-newsgroup)))))
 
 (deffoo nnir-request-expire-articles (articles group &optional server force)
-  (let ((articles-by-group (nnir-categorize
-                           articles nnir-article-group nnir-article-ids))
-       not-deleted)
-    (while (not (null articles-by-group))
-      (let* ((group-articles (pop articles-by-group))
-            (artgroup (car group-articles))
-            (articleids (cadr group-articles))
-            (artlist (sort (mapcar 'cdr articleids) '<)))
-       (unless (gnus-check-backend-function 'request-expire-articles
-                                            artgroup)
-         (error "The group %s does not support article deletion" artgroup))
-       (unless (gnus-check-server (gnus-find-method-for-group artgroup))
-         (error "Couldn't open server for group %s" artgroup))
-       (push (gnus-request-expire-articles
-              artlist artgroup force)
-             not-deleted)))
-    (sort (delq nil not-deleted) '<)))
+  (if force
+    (let ((articles-by-group (nnir-categorize
+                             articles nnir-article-group nnir-article-ids))
+         not-deleted)
+      (while (not (null articles-by-group))
+       (let* ((group-articles (pop articles-by-group))
+              (artgroup (car group-articles))
+              (articleids (cadr group-articles))
+              (artlist (sort (mapcar 'cdr articleids) '<)))
+         (unless (gnus-check-backend-function 'request-expire-articles
+                                              artgroup)
+           (error "The group %s does not support article deletion" artgroup))
+         (unless (gnus-check-server (gnus-find-method-for-group artgroup))
+           (error "Couldn't open server for group %s" artgroup))
+         (push (gnus-request-expire-articles
+                artlist artgroup force)
+               not-deleted)))
+      (sort (delq nil not-deleted) '<))
+    articles))
 
 (deffoo nnir-warp-to-article ()
   (let* ((cur (if (> (gnus-summary-article-number) 0)
@@ -792,12 +794,13 @@ details on the language and supported extensions"
                                                    (nnir-imap-make-query
                                                     criteria qstring)))))
                      (mapc
-                      (lambda (artnum) (push (vector group artnum 100) artlist)
-                        (setq arts (1+ arts)))
-                      (and (car result)
-                           (delete 0 (mapcar #'string-to-number
-                                             (cdr (assoc "SEARCH"
-                                                         (cdr result)))))))
+                      (lambda (artnum)
+                        (let ((artn (string-to-number artnum)))
+                          (when (> artn 0)
+                            (push (vector group artn 100)
+                                  artlist)
+                            (setq arts (1+ arts)))))
+                      (and (car result) (cdr (assoc "SEARCH" (cdr result)))))
                      (message "Searching %s... %d matches" group arts)))
                  (message "Searching %s...done" group))
              (quit nil))
@@ -1581,8 +1584,10 @@ server is of form 'backend:name'."
          (or nnir-summary-line-format gnus-summary-line-format))
     (remove-hook 'gnus-summary-article-delete-hook 'gnus-registry-action t)
     (remove-hook 'gnus-summary-article-move-hook 'gnus-registry-action t)
+    (remove-hook 'gnus-summary-article-expire-hook 'gnus-registry-action t)
     (add-hook 'gnus-summary-article-delete-hook 'nnir-registry-action t t)
-    (add-hook 'gnus-summary-article-move-hook 'nnir-registry-action t t)))
+    (add-hook 'gnus-summary-article-move-hook 'nnir-registry-action t t)
+    (add-hook 'gnus-summary-article-expire-hook 'nnir-registry-action t t)))
 
 
 
index 9c9054a49c7c2d71e119578102320bad878fbda6..c0072a6ef2a5d8de17aa28e8e7969a4ec6c9da55 100644 (file)
@@ -87,6 +87,8 @@ host.
 
 Direct connections:
 - `nntp-open-network-stream' (the default),
+- `network-only' (the same as the above, but don't do automatic
+  STARTTLS upgrades).
 - `nntp-open-ssl-stream',
 - `nntp-open-tls-stream',
 - `nntp-open-netcat-stream'.
@@ -1267,6 +1269,7 @@ password contained in '~/.nntp-authinfo'."
              (let ((coding-system-for-read nntp-coding-system-for-read)
                    (coding-system-for-write nntp-coding-system-for-write)
                    (map '((nntp-open-network-stream network)
+                          (network-only network-only)
                           (nntp-open-ssl-stream tls)
                           (nntp-open-tls-stream tls))))
                (if (assoc nntp-open-connection-function map)
index 6c90f3a112dbb5569a7ed25a039e41596576eeaf..e8df945b94665a7e8d0bf19cda93dadd7520f9f6 100644 (file)
@@ -75,10 +75,11 @@ is a string representing the capabilities of the server (if any).
 The PARAMETERS is a keyword list that can have the following
 values:
 
-:type -- either `network', `tls', `shell' or `starttls'.  If
-omitted, the default is `network'.  `network' will be
-opportunistically upgraded to STARTTLS if both the server and
-Emacs supports it.
+:type -- either `network', `network-only, `tls', `shell' or
+`starttls'.  If omitted, the default is `network'.  `network'
+will be opportunistically upgraded to STARTTLS if both the server
+and Emacs supports it.  If you don't want STARTTLS upgrades, use
+`network-only'.
 
 :end-of-command -- a regexp saying what the end of a command is.
 This defaults to \"\\n\".
@@ -109,6 +110,9 @@ command to switch on STARTTLS otherwise."
                 stream)
            greeting capabilities))))
 
+(defun proto-stream-open-network-only (name buffer host service parameters)
+  (open-network-stream name buffer host service))
+
 (defun proto-stream-open-network (name buffer host service parameters)
   (let* ((start (with-current-buffer buffer (point)))
         (stream (open-network-stream name buffer host service))