From: Gnus developers Date: Wed, 23 Feb 2011 22:59:34 +0000 (+0000) Subject: Merge changes made in Gnus trunk. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~743 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=fa41748c1425908789f9c5e5beab7b4850e8b279;p=emacs.git Merge changes made in Gnus trunk. 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). --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 0d8dfe0ea91..45f0d68023d 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,7 +1,18 @@ +2011-02-23 Julien Danjou + + * 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 * 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 diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el index d349022e7b7..a7f626c3cd3 100644 --- a/lisp/gnus/auth-source.el +++ b/lisp/gnus/auth-source.el @@ -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 diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 2a36c43130c..5b3489a72ee 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -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)