Mercurial > emacs
changeset 101729:adfc49512fc6
* net/tramp.el (tramp-read-passwd): Cached passwords shall still be used.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Sun, 01 Feb 2009 10:46:42 +0000 |
parents | 0e77ae8c6b45 |
children | 3d3a2c7f619f |
files | lisp/net/tramp.el |
diffstat | 1 files changed, 9 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/net/tramp.el Sun Feb 01 10:45:30 2009 +0000 +++ b/lisp/net/tramp.el Sun Feb 01 10:46:42 2009 +0000 @@ -3664,7 +3664,7 @@ (buffer-substring (point) (tramp-compat-line-end-position))))) (setq localname (concat uname fname)))) ;; There might be a double slash, for example when "~/" - ;; expands to "/". Remove this. + ;; expands to "/". Remove this. (while (string-match "//" localname) (setq localname (replace-match "/" t t localname))) ;; No tilde characters in file name, do normal @@ -7433,12 +7433,14 @@ (funcall (symbol-function 'auth-source-user-or-password) "password" tramp-current-host tramp-current-method)) ;; Try the password cache. - (and (functionp 'password-read) - (tramp-get-connection-property proc "first-password-request" nil) - (let ((password (funcall (symbol-function 'password-read) - pw-prompt key))) - (funcall (symbol-function 'password-cache-add) key password) - password)) + (when (functionp 'password-read) + (unless (tramp-get-connection-property + proc "first-password-request" nil) + (funcall (symbol-function 'password-cache-remove) key)) + (let ((password + (funcall (symbol-function 'password-read) pw-prompt key))) + (funcall (symbol-function 'password-cache-add) key password) + password)) ;; Else, get the password interactively. (read-passwd pw-prompt)) (tramp-set-connection-property proc "first-password-request" nil))))