summary refs log tree commit diff stats
path: root/lisp/remember.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/remember.el')
-rw-r--r--lisp/remember.el19
1 files changed, 16 insertions, 3 deletions
diff --git a/lisp/remember.el b/lisp/remember.el index 39476d1..a759419 100644 --- a/lisp/remember.el +++ b/lisp/remember.el
@@ -1,4 +1,17 @@
1;; ABANDON ALL HOPE YE WHO ENTER HERE 1;;; remember.el --- Remember variables and modes -*- lexical-binding: t; -*-
2
3;;; Code:
4
5(defmacro remember-remember (alist)
6 (let* ((template (format "remember--%s-%%s" (gensym)))
7 (reset-fn (intern (format template "recall")))
8 (things (cl-loop for (sym . newval) in alist
9 as rem = (intern (format template sym))
10
11 ;; Collect original values
12
13 )))))
14
2 15
3(defmacro remember-set (&rest symbols) 16(defmacro remember-set (&rest symbols)
4 "Setup a closure remembering symbols to apply with 17 "Setup a closure remembering symbols to apply with
@@ -6,7 +19,7 @@
6SYMBOLS is a plist: the properties are symbols or mode names, and 19SYMBOLS is a plist: the properties are symbols or mode names, and
7their values what to set after `remember-setup'." 20their values what to set after `remember-setup'."
8 (let* ((template (format "remember--%s-%%s" (gensym))) 21 (let* ((template (format "remember--%s-%%s" (gensym)))
9 (reset-fn (intern (format template "reset" "fn"))) 22 (reset-fn (intern (format template "reset")))
10 (list (cl-loop for sym in symbols by #'cddr 23 (list (cl-loop for sym in symbols by #'cddr
11 collect `(,(intern (format template sym)) 24 collect `(,(intern (format template sym))
12 ,sym) 25 ,sym)
@@ -39,5 +52,5 @@ their values what to set after `remember-setup'."
39 52
40;; test 53;; test
41 54
42(setq fn (remember-set display-fill-column-indicator-mode disable)) 55(set 'fn (remember-set display-fill-column-indicator-mode disable))
43(funcall fn) 56(funcall fn)