diff options
author | Daiki Ueno <ueno@unixuser.org> | 2011-06-30 18:45:44 +0900 |
---|---|---|
committer | Daiki Ueno <ueno@unixuser.org> | 2011-06-30 18:45:44 +0900 |
commit | 8a8cdb1992dc18d94a683753f57d47df5b1b54cc (patch) | |
tree | 699e300301a43c7f681f94fc8eb60df530e62fd4 /lisp/gnus/plstore.el | |
parent | c302199d28c76164a7a3606295718bcf2b475cba (diff) | |
download | emacs-8a8cdb1992dc18d94a683753f57d47df5b1b54cc.tar.gz emacs-8a8cdb1992dc18d94a683753f57d47df5b1b54cc.tar.bz2 emacs-8a8cdb1992dc18d94a683753f57d47df5b1b54cc.zip |
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.el | 28 |
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))) |