summaryrefslogtreecommitdiffhomepage
path: root/lib/eos
diff options
context:
space:
mode:
authorjao <jao@gnu.org>2025-09-28 01:25:21 +0100
committerjao <jao@gnu.org>2025-09-28 01:29:49 +0100
commit75220ccdee2f3de039498b717d2b15c04f676d2a (patch)
tree99a15e815d47af748cf65deb82c5abd88bf90bcc /lib/eos
parent372bb077bcbd6904845991e9e72c759207bc1cf8 (diff)
downloadelibs-75220ccdee2f3de039498b717d2b15c04f676d2a.tar.gz
elibs-75220ccdee2f3de039498b717d2b15c04f676d2a.tar.bz2
multisession variables instead of persist
Diffstat (limited to 'lib/eos')
-rw-r--r--lib/eos/jao-r2e.el20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/eos/jao-r2e.el b/lib/eos/jao-r2e.el
index 24b6429..aa44040 100644
--- a/lib/eos/jao-r2e.el
+++ b/lib/eos/jao-r2e.el
@@ -148,9 +148,11 @@
(jao-r2e-list)
(goto-char p)))))
-(persist-defvar jao-r2e-deleted-feeds '()
+(define-multisession-variable jao-r2e-deleted-feeds '()
"List of rss2email feeds deleted at some point.")
+(defun jao-r2e--deleted () (multisession-value jao-r2e-deleted-feeds))
+
(defun jao-r2e-delete ()
"Delete feed at point. Use `jao-r2e-recover' to undelete."
(interactive)
@@ -158,9 +160,10 @@
(unless f (error "No feed at point"))
(let ((p (point))
(no (car f))
- (name (cadr f)))
- (when (yes-or-no-p (format "Delete feed '%s'" name))
- (add-to-list 'jao-r2e-deleted-feeds (cdr f))
+ (entry (cdr f)))
+ (when (yes-or-no-p (format "Delete feed '%s'" (car entry)))
+ (setf (jao-r2e--deleted)
+ (cons entry (remove entry (jao-r2e--deleted))))
(with-temp-buffer
(jao-r2e--do (format "delete %s" no) (current-buffer)))
(jao-r2e-list)
@@ -168,16 +171,17 @@
(defun jao-r2e-recover ()
(interactive)
- (when (seq-empty-p jao-r2e-deleted-feeds)
+ (when (seq-empty-p (jao-r2e--deleted))
(error "No feeds recoverable at this point."))
- (let ((feed (completing-read "Recover feed: " jao-r2e-deleted-feeds)))
- (when-let* ((ps (assoc feed jao-r2e-deleted-feeds))
+ (let* ((entries (jao-r2e--deleted))
+ (feed (completing-read "Recover feed: " entries)))
+ (when-let* ((ps (assoc feed entries))
(url (caddr ps))
(mail (car (last ps)))
(cat (when (string-match "feeds\\.\\(.+\\)@localhost" mail)
(match-string 1 mail))))
(jao-r2e-subscribe (list url feed) cat t)
- (setq jao-r2e-deleted-feeds (remove ps jao-r2e-deleted-feeds)))))
+ (setf (jao-r2e--deleted) (remove ps entries)))))
(defun jao-r2e--find-url ()
(save-excursion