X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/2b0c7330457b8ca42375c92ada7dc7cefb0fa9fb..ed571ccb1d14abc788a29c3b3bbf08aa4b951ab8:/lisp/password-cache.el diff --git a/lisp/password-cache.el b/lisp/password-cache.el index a7f75a03ad..9f5c18f341 100644 --- a/lisp/password-cache.el +++ b/lisp/password-cache.el @@ -1,6 +1,6 @@ ;;; password-cache.el --- Read passwords, possibly using a password cache. -;; Copyright (C) 1999-2000, 2003-2011 Free Software Foundation, Inc. +;; Copyright (C) 1999-2000, 2003-2012 Free Software Foundation, Inc. ;; Author: Simon Josefsson ;; Created: 2003-12-21 @@ -76,6 +76,7 @@ regulate cache behavior." key (symbol-value (intern-soft key password-data)))) +;;;###autoload (defun password-in-cache-p (key) "Check if KEY is in the cache." (and password-cache @@ -115,13 +116,14 @@ but can be invoked at any time to forcefully remove passwords from the cache. This may be useful when it has been detected that a password is invalid, so that `password-read' query the user again." - (let ((password (symbol-value (intern-soft key password-data)))) - (when password - (when (stringp password) - (if (fboundp 'clear-string) - (clear-string password) - (fillarray password ?_))) - (unintern key password-data)))) + (let ((sym (intern-soft key password-data))) + (when sym + (let ((password (symbol-value sym))) + (when (stringp password) + (if (fboundp 'clear-string) + (clear-string password) + (fillarray password ?_))) + (unintern key password-data))))) (defun password-cache-add (key password) "Add password to cache.