HCoop
/
bpt
/
emacs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix link errors in the Mac OS build that were caused by variables being marked as...
[bpt/emacs.git]
/
lisp
/
password-cache.el
diff --git
a/lisp/password-cache.el
b/lisp/password-cache.el
index
d72358a
..
941428d
100644
(file)
--- a/
lisp/password-cache.el
+++ b/
lisp/password-cache.el
@@
-1,7
+1,6
@@
;;; password-cache.el --- Read passwords, possibly using a password cache.
;;; password-cache.el --- Read passwords, possibly using a password cache.
-;; Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2008
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1999-2000, 2003-2011 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Created: 2003-12-21
;; Author: Simon Josefsson <simon@josefsson.org>
;; Created: 2003-12-21
@@
-51,11
+50,15
@@
;;; Code:
;;; Code:
+;; Options are autoloaded since they are used by eg mml-sec.el.
+
+;;;###autoload
(defcustom password-cache t
"Whether to cache passwords."
:group 'password
:type 'boolean)
(defcustom password-cache t
"Whether to cache passwords."
:group 'password
:type 'boolean)
+;;;###autoload
(defcustom password-cache-expiry 16
"How many seconds passwords are cached, or nil to disable expiring.
Whether passwords are cached at all is controlled by `password-cache'."
(defcustom password-cache-expiry 16
"How many seconds passwords are cached, or nil to disable expiring.
Whether passwords are cached at all is controlled by `password-cache'."
@@
-73,6
+76,13
@@
regulate cache behavior."
key
(symbol-value (intern-soft key password-data))))
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
+ key
+ (intern-soft key password-data)))
+
(defun password-read (prompt &optional key)
"Read password, for use with KEY, from user, or from cache if wanted.
KEY indicate the purpose of the password, so the cache can
(defun password-read (prompt &optional key)
"Read password, for use with KEY, from user, or from cache if wanted.
KEY indicate the purpose of the password, so the cache can
@@
-101,16
+111,17
@@
remove incorrect ones from the cache."
(defun password-cache-remove (key)
"Remove password indexed by KEY from password cache.
(defun password-cache-remove (key)
"Remove password indexed by KEY from password cache.
-This is typically run b
e
a timer setup from `password-cache-add',
+This is typically run b
y
a timer setup from `password-cache-add',
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
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
- (if (fboundp 'clear-string)
- (clear-string password)
- (fillarray password ?_))
+ (when (stringp password)
+ (if (fboundp 'clear-string)
+ (clear-string password)
+ (fillarray password ?_)))
(unintern key password-data))))
(defun password-cache-add (key password)
(unintern key password-data))))
(defun password-cache-add (key password)
@@
-130,5
+141,4
@@
The password is removed by a timer after `password-cache-expiry' seconds."
(provide 'password-cache)
(provide 'password-cache)
-;; arch-tag: ab160494-16c8-4c68-a4a1-73eebf6686e5
;;; password-cache.el ends here
;;; password-cache.el ends here