diff options
Diffstat (limited to 'lisp/gnus/plstore.el')
-rw-r--r-- | lisp/gnus/plstore.el | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lisp/gnus/plstore.el b/lisp/gnus/plstore.el index 360388d002e..8d973a9b0ae 100644 --- a/lisp/gnus/plstore.el +++ b/lisp/gnus/plstore.el @@ -337,6 +337,24 @@ SECRET-KEYS is a plist containing secret data." (cons (cons name secret-plist) (plstore--get-secret-alist plstore))))) (plstore--merge-secret plstore))) +(defun plstore-delete (plstore name) + "Delete an entry with NAME from PLSTORE." + (let ((entry (assoc name (plstore--get-alist plstore)))) + (if entry + (plstore--set-alist + plstore + (delq entry (plstore--get-alist plstore)))) + (setq entry (assoc name (plstore--get-secret-alist plstore))) + (if entry + (plstore--set-secret-alist + plstore + (delq entry (plstore--get-secret-alist plstore)))) + (setq entry (assoc name (plstore--get-merged-alist plstore))) + (if entry + (plstore--set-merged-alist + plstore + (delq entry (plstore--get-merged-alist plstore)))))) + (defvar pp-escape-newlines) (defun plstore-save (plstore) "Save the contents of PLSTORE associated with a FILE." |