summaryrefslogtreecommitdiff
path: root/lisp/gnus/plstore.el
diff options
context:
space:
mode:
authorDaiki Ueno <ueno@unixuser.org>2011-06-30 18:45:44 +0900
committerDaiki Ueno <ueno@unixuser.org>2011-06-30 18:45:44 +0900
commit8a8cdb1992dc18d94a683753f57d47df5b1b54cc (patch)
tree699e300301a43c7f681f94fc8eb60df530e62fd4 /lisp/gnus/plstore.el
parentc302199d28c76164a7a3606295718bcf2b475cba (diff)
downloademacs-8a8cdb1992dc18d94a683753f57d47df5b1b54cc.tar.gz
Add plstore-revert, hide buffer from user.
* plstore.el (plstore-revert): New function. (plstore-open): Use it; hide the buffer from user.
Diffstat (limited to 'lisp/gnus/plstore.el')
-rw-r--r--lisp/gnus/plstore.el28
1 files changed, 17 insertions, 11 deletions
diff --git a/lisp/gnus/plstore.el b/lisp/gnus/plstore.el
index 3aa3b84fcbc..703943934e8 100644
--- a/lisp/gnus/plstore.el
+++ b/lisp/gnus/plstore.el
@@ -117,19 +117,25 @@
nil ;secret plist (plist)
nil ;merged plist (plist)
)))
- (with-current-buffer (plstore--get-buffer store)
- (goto-char (point-min))
- (when (looking-at ";;; public entries\n")
- (forward-line)
- (plstore--set-alist store (read (point-marker)))
- (forward-sexp)
- (forward-char)
- (when (looking-at ";;; secret entries\n")
- (forward-line)
- (plstore--set-encrypted-data store (read (point-marker))))
- (plstore--merge-secret store)))
+ (plstore-revert store)
store))
+(defun plstore-revert (plstore)
+ "Replace current data in PLSTORE with the file on disk."
+ (with-current-buffer (plstore--get-buffer plstore)
+ ;; make the buffer invisible from user
+ (rename-buffer (format " plstore %s" (buffer-file-name)))
+ (goto-char (point-min))
+ (when (looking-at ";;; public entries\n")
+ (forward-line)
+ (plstore--set-alist plstore (read (point-marker)))
+ (forward-sexp)
+ (forward-char)
+ (when (looking-at ";;; secret entries\n")
+ (forward-line)
+ (plstore--set-encrypted-data plstore (read (point-marker))))
+ (plstore--merge-secret plstore))))
+
(defun plstore-close (plstore)
"Destroy a plstore instance PLSTORE."
(kill-buffer (plstore--get-buffer plstore)))