summaryrefslogtreecommitdiffstats
path: root/aliases.txr
diff options
context:
space:
mode:
Diffstat (limited to 'aliases.txr')
-rw-r--r--aliases.txr13
1 files changed, 12 insertions, 1 deletions
diff --git a/aliases.txr b/aliases.txr
index 2f25997..4bc1d75 100644
--- a/aliases.txr
+++ b/aliases.txr
@@ -1,6 +1,6 @@
@(do
(defstruct (alias address memo creation-time) nil
- address memo creation-time
+ address memo creation-time (selected nil)
(:postinit (alias)
(ifa (stringp alias.creation-time)
(set it (int-str it)))
@@ -23,6 +23,15 @@
[<a href="mailto:@mem" \
onclick="return false;">...</a>] \ \
@(html-encode [mem -27..t])</span>`)))))
+@;
+@(bind selected-alias-keys nil)
+@;
+@(define mark-aliases (aliases selected))
+@ (do (each ((key selected))
+ (let ((a (find key aliases)))
+ (set a.selected t))))
+@(end)
+@;
@(define load-aliases (user aliases))
@ (local time memo)
@ (bind lock @(acquire-lock aliases-file))
@@ -45,6 +54,7 @@
@ (finally)
@ (do (release-lock lock))
@ (end)
+@ (mark-aliases aliases selected-alias-keys)
@(end)
@;
@(define store-aliases (user aliases))
@@ -103,6 +113,7 @@
@ (collect :vars (selected))
chkbox-@selected=on
@ (end)
+@ (load-aliases userid aliases)
@ (next :list url-args)
@ (gather)
memo=@memo