summaryrefslogtreecommitdiff
path: root/lisp/gnus/auth-source.el
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2011-09-20 14:08:04 +0000
committerKatsumi Yamaoka <yamaoka@jpl.org>2011-09-20 14:08:04 +0000
commitcf499a1a42695fb0ce3aee0b1e6b48a3078ddca3 (patch)
treed4973e4d904193fd4984e926b8172ef07f07ffbb /lisp/gnus/auth-source.el
parente4bd0584194ca5d0a933b20a207b5ad0395a07a6 (diff)
downloademacs-cf499a1a42695fb0ce3aee0b1e6b48a3078ddca3.tar.gz
password-cache.el (password-cache-remove): Remove entries even if the value is nil, so that password with a nil value (negative caching) is possible to invalidate.
auth-source.el (auth-source-format-cache-entry): New function.
Diffstat (limited to 'lisp/gnus/auth-source.el')
-rw-r--r--lisp/gnus/auth-source.el13
1 files changed, 8 insertions, 5 deletions
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el
index 7a05edfabc2..dc9c23131f1 100644
--- a/lisp/gnus/auth-source.el
+++ b/lisp/gnus/auth-source.el
@@ -749,28 +749,31 @@ Returns the deleted entries."
do (password-cache-remove (symbol-name sym)))
(setq auth-source-netrc-cache nil))
+(defun auth-source-format-cache-entry (spec)
+ "Format SPEC entry to put it in the password cache."
+ (concat auth-source-magic (format "%S" spec)))
+
(defun auth-source-remember (spec found)
"Remember FOUND search results for SPEC."
(let ((password-cache-expiry auth-source-cache-expiry))
(password-cache-add
- (concat auth-source-magic (format "%S" spec)) found)))
+ (auth-source-format-cache-entry spec) found)))
(defun auth-source-recall (spec)
"Recall FOUND search results for SPEC."
- (password-read-from-cache
- (concat auth-source-magic (format "%S" spec))))
+ (password-read-from-cache (auth-source-format-cache-entry spec)))
(defun auth-source-remembered-p (spec)
"Check if SPEC is remembered."
(password-in-cache-p
- (concat auth-source-magic (format "%S" spec))))
+ (auth-source-format-cache-entry spec)))
(defun auth-source-forget (spec)
"Forget any cached data matching SPEC exactly.
This is the same SPEC you passed to `auth-source-search'.
Returns t or nil for forgotten or not found."
- (password-cache-remove (concat auth-source-magic (format "%S" spec))))
+ (password-cache-remove (auth-source-format-cache-entry spec)))
;;; (loop for sym being the symbols of password-data when (string-match (concat "^" auth-source-magic) (symbol-name sym)) collect (symbol-name sym))