summaryrefslogtreecommitdiff
path: root/elisp/geiser-custom.el
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-22 22:43:28 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2009-09-22 22:43:28 +0200
commit5f64d69c0e8c100c5a9954a0b1317d9d345a78e2 (patch)
tree46fdfde9f3ea107b49c7555886eca68301f13553 /elisp/geiser-custom.el
parentaecb2b8a0debdfd29e6865c2f4854b37210d9160 (diff)
downloadgeiser-5f64d69c0e8c100c5a9954a0b1317d9d345a78e2.tar.gz
geiser-5f64d69c0e8c100c5a9954a0b1317d9d345a78e2.tar.bz2
New implementation registration mechanism, for the elisp side of things.
Implementations must invoke define-geiser-implementation with an appropriate set of methods. Simple inheritance is supported. Each geiser module defines and registers the method names it uses.
Diffstat (limited to 'elisp/geiser-custom.el')
-rw-r--r--elisp/geiser-custom.el6
1 files changed, 4 insertions, 2 deletions
diff --git a/elisp/geiser-custom.el b/elisp/geiser-custom.el
index bdaac06..789c824 100644
--- a/elisp/geiser-custom.el
+++ b/elisp/geiser-custom.el
@@ -45,9 +45,12 @@
(defvar geiser-custom--memoized-vars nil)
+(defun geiser-custom--memoize (name)
+ (add-to-list 'geiser-custom--memoized-vars name))
+
(defmacro geiser-custom--defcustom (name &rest body)
`(progn
- (add-to-list 'geiser-custom--memoized-vars ',name)
+ (geiser-custom--memoize ',name)
(defcustom ,name ,@body)))
(defun geiser-custom--memoized-state ()
@@ -56,7 +59,6 @@
(when (boundp name)
(push (cons name (symbol-value name)) result)))))
-
(provide 'geiser-custom)
;;; geiser-custom.el ends here