Merge changes made in Gnus trunk.
authorGnus developers <ding@gnus.org>
Wed, 23 Feb 2011 22:59:34 +0000 (22:59 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Wed, 23 Feb 2011 22:59:34 +0000 (22:59 +0000)
gnus-art.el (article-make-date-line): Ignore errors if time is invalid and not convertible.
 (article-make-date-line): Only add lapsed time if time is not nil.
auth-source.el (auth-source-netrc-element-or-first): New function to DTRT for parameter extraction.
 (auth-source-netrc-create): Use it and fix multiple parameter print bug.  Use the default passed from above (given-default) or the built-in (user-login-name for :user).

lisp/gnus/ChangeLog
lisp/gnus/auth-source.el
lisp/gnus/gnus-art.el

index 0d8dfe0..45f0d68 100644 (file)
@@ -1,7 +1,18 @@
+2011-02-23  Julien Danjou  <julien@danjou.info>
+
+       * gnus-art.el (article-make-date-line): Ignore errors if time is
+       invalid and not convertible.
+       (article-make-date-line): Only add lapsed time if time is not nil.
+
 2011-02-23  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * auth-source.el (auth-source-netrc-create): Use `read-char' instead of
        `read-char-choice' for backwards compatibility.
+       (auth-source-netrc-element-or-first): New function to DTRT for
+       parameter extraction.
+       (auth-source-netrc-create): Use it and fix multiple parameter print
+       bug.  Use the default passed from above (given-default) or the
+       built-in (user-login-name for :user).
 
 2011-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
 
index d349022..a7f626c 100644 (file)
@@ -898,6 +898,11 @@ See `auth-source-search' for details on SPEC."
                             (plist-put spec :create nil)))))
     results))
 
+(defun auth-source-netrc-element-or-first (v)
+  (if (listp v)
+      (nth 0 v)
+    v))
+
 ;;; (auth-source-search :host "nonesuch" :type 'netrc :max 1 :create t)
 ;;; (auth-source-search :host "nonesuch" :type 'netrc :max 1 :create t :create-extra-keys '((A "default A") (B)))
 
@@ -943,9 +948,7 @@ See `auth-source-search' for details on SPEC."
     (dolist (r required)
       (let* ((data (aget valist r))
              ;; take the first element if the data is a list
-             (data (if (listp data)
-                       (nth 0 data)
-                     data))
+             (data (auth-source-netrc-element-or-first data))
              ;; this is the default to be offered
              (given-default (aget auth-source-creation-defaults r))
              ;; the default supplementals are simple: for the user,
@@ -961,10 +964,22 @@ See `auth-source-search' for details on SPEC."
                ((and (null data) (eq r 'secret))
                 ;; special case prompt for passwords
                 (read-passwd (format "Password for %s@%s:%s: "
-                                     (or (aget valist 'user) "[any user]")
-                                     (or (aget valist 'host) "[any host]")
-                                     (or (aget valist 'port) "[any port]"))))
-               (t data)))
+                                     (or
+                                      (auth-source-netrc-element-or-first
+                                       (aget valist 'user))
+                                      (plist-get artificial :user)
+                                      "[any user]")
+                                     (or
+                                      (auth-source-netrc-element-or-first
+                                       (aget valist 'host))
+                                      (plist-get artificial :host)
+                                      "[any host]")
+                                     (or
+                                      (auth-source-netrc-element-or-first
+                                       (aget valist 'port))
+                                      (plist-get artificial :port)
+                                      "[any port]"))))
+               (t (or data default))))
 
         (when data
           (setq artificial (plist-put artificial
index 2a36c43..5b3489a 100644 (file)
@@ -3463,7 +3463,7 @@ possible values."
                             combined-lapsed))
     (error "Unknown conversion type: %s" type))
   (condition-case ()
-      (let ((time (date-to-time date)))
+      (let ((time (ignore-errors (date-to-time date))))
        (cond
         ;; Convert to the local timezone.
         ((eq type 'local)
@@ -3515,6 +3515,7 @@ possible values."
                (segments 3)
                lapsed-string)
            (while (and
+                    time
                    (setq lapsed-string
                          (concat " (" (article-lapsed-string time segments) ")"))
                    (> (+ (length date-string)