changeset 110587:e474d7d76259

Merge changes made in Gnus trunk. gnus-picon.el (gnus-picon-create-glyph): Set the background XPM colour explicitly. message.el (message-cite-prefix-regexp): Remove } from the cite prefix. gnus-win.el (gnus-window-to-buffer-helper, gnus-all-windows-visible-p): Function needn't be a symbol. mail-source.el (mail-source-value): Function needn't be a symbol. tls.el (open-tls-stream): Don't query killing process. gnus-win.el: Revert previous patch, since it made Gnus backtrace. nnimap.el: Look up IMAP credentials based on both the virtual and physical server names. mail-source.el (mail-source-value): Revert previous patch.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sun, 26 Sep 2010 14:35:50 +0000
parents 867180d035b0
children 0995e4af573f
files doc/misc/gnus.texi doc/misc/message.texi lisp/ChangeLog.14 lisp/gnus/ChangeLog lisp/gnus/gnus-art.el lisp/gnus/gnus-picon.el lisp/gnus/message.el lisp/gnus/nnimap.el lisp/net/tls.el
diffstat 9 files changed, 78 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/doc/misc/gnus.texi	Sun Sep 26 13:25:35 2010 +0000
+++ b/doc/misc/gnus.texi	Sun Sep 26 14:35:50 2010 +0000
@@ -27333,9 +27333,7 @@
 @acronym{TLS} wrapper shipped with Gnus
 
 @acronym{TLS}/@acronym{SSL} is now supported in @acronym{IMAP} and
-@acronym{NNTP} via @file{tls.el} and GNUTLS.  The old
-@acronym{TLS}/@acronym{SSL} support via (external third party)
-@file{ssl.el} and OpenSSL still works.
+@acronym{NNTP} via @file{tls.el} and GNUTLS.
 
 @item
 Improved anti-spam features.
--- a/doc/misc/message.texi	Sun Sep 26 13:25:35 2010 +0000
+++ b/doc/misc/message.texi	Sun Sep 26 14:35:50 2010 +0000
@@ -1090,11 +1090,11 @@
 @subsection Using PGP/MIME
 
 @acronym{PGP/MIME} requires an external OpenPGP implementation, such
-as @uref{http://www.gnupg.org/, GNU Privacy Guard}.  Pre-OpenPGP
-implementations such as PGP 2.x and PGP 5.x are also supported.  One
+as @uref{http://www.gnupg.org/, GNU Privacy Guard}. Pre-OpenPGP
+implementations such as PGP 2.x and PGP 5.x are also supported. One
 Emacs interface to the PGP implementations, PGG (@pxref{Top, ,PGG,
-pgg, PGG Manual}), is included, but Mailcrypt and Florian Weimer's
-@code{gpg.el} are also supported.  @xref{PGP Compatibility}.
+pgg, PGG Manual}), is included, but Mailcrypt is also supported.
+@xref{PGP Compatibility}.
 
 @cindex gpg-agent
 Message internally calls GnuPG (the @command{gpg} command) to perform
--- a/lisp/ChangeLog.14	Sun Sep 26 13:25:35 2010 +0000
+++ b/lisp/ChangeLog.14	Sun Sep 26 14:35:50 2010 +0000
@@ -1,3 +1,7 @@
+2009-02-07  Dave Love  <fx@gnu.org>
+
+	* net/tls.el (open-tls-stream): Don't query killing process.
+
 2009-06-21  Chong Yidong  <cyd@stupidchicken.com>
 
 	* Branch for 23.1.
--- a/lisp/gnus/ChangeLog	Sun Sep 26 13:25:35 2010 +0000
+++ b/lisp/gnus/ChangeLog	Sun Sep 26 14:35:50 2010 +0000
@@ -1,5 +1,32 @@
 2010-09-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
+	* mail-source.el (mail-source-value): Revert previous patch.
+
+	* nnimap.el (nnimap-credentials): Allow inhibiting the password query
+	on failure.
+	(nnimap-open-connection): Look up both virtual and physical server name
+	credentials.
+
+	* gnus-win.el: Revert previous patch, since it made Gnus backtrace.
+
+2009-02-08  Dave Love  <fx@gnu.org>
+
+	* gnus-win.el (gnus-window-to-buffer-helper,
+	gnus-all-windows-visible-p): Function needn't be a symbol.
+
+	* mail-source.el (mail-source-value): Function needn't be a symbol.
+
+2010-09-26  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+	* message.el (message-cite-prefix-regexp): Remove } from the cite
+	prefix.
+
+	* gnus-art.el (gnus-treatment-function-alist): Do picons before
+	highlight again, so that the highlight is correct.
+
+	* gnus-picon.el (gnus-picon): Remove again.
+	(gnus-picon-create-glyph): Set the background XPM colour explicitly.
+
 	* gnus-art.el (gnus-treatment-function-alist): Insert picons after
 	doing the header highlightling, so that the background colour of the
 	picon is correct.
--- a/lisp/gnus/gnus-art.el	Sun Sep 26 13:25:35 2010 +0000
+++ b/lisp/gnus/gnus-art.el	Sun Sep 26 14:35:50 2010 +0000
@@ -1691,14 +1691,14 @@
     (gnus-treat-hide-signature gnus-article-hide-signature)
     (gnus-treat-strip-list-identifiers gnus-article-hide-list-identifiers)
     (gnus-treat-leading-whitespace gnus-article-remove-leading-whitespace)
+    (gnus-treat-from-picon gnus-treat-from-picon)
+    (gnus-treat-mail-picon gnus-treat-mail-picon)
+    (gnus-treat-newsgroups-picon gnus-treat-newsgroups-picon)
     (gnus-treat-strip-pem gnus-article-hide-pem)
     (gnus-treat-from-gravatar gnus-treat-from-gravatar)
     (gnus-treat-mail-gravatar gnus-treat-mail-gravatar)
     (gnus-treat-highlight-headers gnus-article-highlight-headers)
     (gnus-treat-highlight-signature gnus-article-highlight-signature)
-    (gnus-treat-from-picon gnus-treat-from-picon)
-    (gnus-treat-mail-picon gnus-treat-mail-picon)
-    (gnus-treat-newsgroups-picon gnus-treat-newsgroups-picon)
     (gnus-treat-strip-trailing-blank-lines
      gnus-article-remove-trailing-blank-lines)
     (gnus-treat-strip-leading-blank-lines
--- a/lisp/gnus/gnus-picon.el	Sun Sep 26 13:25:35 2010 +0000
+++ b/lisp/gnus/gnus-picon.el	Sun Sep 26 14:35:50 2010 +0000
@@ -85,10 +85,6 @@
 		 (const right))
   :group 'gnus-picon)
 
-(defface gnus-picon '((t (:foreground "black" :background "white")))
-  "Face to show picon in."
-  :group 'gnus-picon)
-
 ;;; Internal variables:
 
 (defvar gnus-picon-glyph-alist nil
@@ -151,13 +147,13 @@
       (insert glyph)
     (gnus-add-wash-type category)
     (gnus-add-image category (car glyph))
-    (let ((start (point)))
-      (gnus-put-image (car glyph) (unless nostring (cdr glyph)) category)
-      (put-text-property start (point) 'face 'gnus-picon))))
+    (gnus-put-image (car glyph) (unless nostring (cdr glyph)) category)))
 
 (defun gnus-picon-create-glyph (file)
   (or (cdr (assoc file gnus-picon-glyph-alist))
-      (cdar (push (cons file (gnus-create-image file))
+      (cdar (push (cons file (gnus-create-image
+			      file nil nil
+			      :color-symbols '(("None" . "white"))))
 		  gnus-picon-glyph-alist))))
 
 ;;; Functions that does picon transformations:
--- a/lisp/gnus/message.el	Sun Sep 26 13:25:35 2010 +0000
+++ b/lisp/gnus/message.el	Sun Sep 26 14:35:50 2010 +0000
@@ -626,29 +626,23 @@
   :type 'regexp)
 
 (defcustom message-cite-prefix-regexp
-  ;; Default to the value of `mail-citation-prefix-regexp' if available.
-  ;; Note: as for Emacs 21, XEmacs 21.4 and 21.5, it is unavailable
-  ;; unless sendmail.el is loaded.
-  (cond ((boundp 'mail-citation-prefix-regexp)
-	 mail-citation-prefix-regexp)
-	((string-match "[[:digit:]]" "1")
-	 ;; Support POSIX?  XEmacs 21.5.27 doesn't.
-	 "\\([ \t]*[_.[:word:]]+>+\\|[ \t]*[]>|}]\\)+")
-	(t
-	 ;; ?-, ?_ or ?. MUST NOT be in syntax entry w.
-	 (let (non-word-constituents)
-	   (with-syntax-table text-mode-syntax-table
-	     (setq non-word-constituents
-		   (concat
-		    (if (string-match "\\w" "_")  "" "_")
-		    (if (string-match "\\w" ".")  "" "."))))
-	   (if (equal non-word-constituents "")
-	       "\\([ \t]*\\(\\w\\)+>+\\|[ \t]*[]>|}]\\)+"
-	     (concat "\\([ \t]*\\(\\w\\|["
-		     non-word-constituents
-		     "]\\)+>+\\|[ \t]*[]>|}]\\)+")))))
+  (if (string-match "[[:digit:]]" "1")
+      ;; Support POSIX?  XEmacs 21.5.27 doesn't.
+      "\\([ \t]*[_.[:word:]]+>+\\|[ \t]*[]>|]\\)+"
+    ;; ?-, ?_ or ?. MUST NOT be in syntax entry w.
+    (let (non-word-constituents)
+      (with-syntax-table text-mode-syntax-table
+	(setq non-word-constituents
+	      (concat
+	       (if (string-match "\\w" "_")  "" "_")
+	       (if (string-match "\\w" ".")  "" "."))))
+      (if (equal non-word-constituents "")
+	  "\\([ \t]*\\(\\w\\)+>+\\|[ \t]*[]>|]\\)+"
+	(concat "\\([ \t]*\\(\\w\\|["
+		non-word-constituents
+		"]\\)+>+\\|[ \t]*[]>|]\\)+"))))
   "*Regexp matching the longest possible citation prefix on a line."
-  :version "23.2"
+  :version "24.1"
   :group 'message-insertion
   :link '(custom-manual "(message)Insertion Variables")
   :type 'regexp
--- a/lisp/gnus/nnimap.el	Sun Sep 26 13:25:35 2010 +0000
+++ b/lisp/gnus/nnimap.el	Sun Sep 26 14:35:50 2010 +0000
@@ -238,7 +238,7 @@
 		     ?s host
 		     ?p port)))))
 
-(defun nnimap-credentials (address ports)
+(defun nnimap-credentials (address ports &optional inhibit-create)
   (let (port credentials)
     ;; Request the credentials from all ports, but only query on the
     ;; last port if all the previous ones have failed.
@@ -246,7 +246,10 @@
 		(setq port (pop ports)))
       (setq credentials
 	    (auth-source-user-or-password
-	     '("login" "password") address port nil (null ports))))
+	     '("login" "password") address port nil
+	     (if inhibit-create
+		 nil
+	       (null ports)))))
     credentials))
 
 (defun nnimap-keepalive ()
@@ -318,16 +321,21 @@
 	  (when (eq nnimap-stream 'starttls)
 	    (nnimap-command "STARTTLS")
 	    (starttls-negotiate (nnimap-process nnimap-object)))
+	  (when nnimap-server-port
+	    (push (format "%s" nnimap-server-port) ports))
 	  (unless (equal connection-result "PREAUTH")
 	    (if (not (setq credentials
 			   (if (eq nnimap-authenticator 'anonymous)
 			       (list "anonymous"
 				     (message-make-address))
-			     (nnimap-credentials
-			      nnimap-address
-			      (if nnimap-server-port
-				  (cons (format "%s" nnimap-server-port) ports)
-				ports)))))
+			     (or
+			      ;; First look for the credentials based
+			      ;; on the virtual server name.
+			      (nnimap-credentials
+			       (nnoo-current-server 'nnimap) ports t)
+			      ;; Then look them up based on the
+			      ;; physical address.
+			      (nnimap-credentials nnimap-address ports)))))
 		(setq nnimap-object nil)
 	      (setq login-result (nnimap-command "LOGIN %S %S"
 						 (car credentials)
--- a/lisp/net/tls.el	Sun Sep 26 13:25:35 2010 +0000
+++ b/lisp/net/tls.el	Sun Sep 26 14:35:50 2010 +0000
@@ -238,6 +238,10 @@
 	  (setq process (start-process
 			 name buffer shell-file-name shell-command-switch
 			 formatted-cmd))
+	  (funcall (if (fboundp 'set-process-query-on-exit-flag)
+		       'set-process-query-on-exit-flag
+		     'process-kill-without-query)
+		   process nil)
 	  (while (and process
 		      (memq (process-status process) '(open run))
 		      (progn