From 3265bb3b50c1199586205fab0febfdf0b91c3c2b Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Fri, 11 Sep 2009 22:01:14 +0200 Subject: Reload: we now remember user customizations and restore them during geiser-reload. --- elisp/geiser-custom.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'elisp/geiser-custom.el') diff --git a/elisp/geiser-custom.el b/elisp/geiser-custom.el index 0b3460f..bdaac06 100644 --- a/elisp/geiser-custom.el +++ b/elisp/geiser-custom.el @@ -40,6 +40,23 @@ (put 'geiser-custom--defface 'lisp-indent-function 1) + +;;; Reload support: + +(defvar geiser-custom--memoized-vars nil) + +(defmacro geiser-custom--defcustom (name &rest body) + `(progn + (add-to-list 'geiser-custom--memoized-vars ',name) + (defcustom ,name ,@body))) + +(defun geiser-custom--memoized-state () + (let ((result)) + (dolist (name geiser-custom--memoized-vars result) + (when (boundp name) + (push (cons name (symbol-value name)) result))))) + + (provide 'geiser-custom) ;;; geiser-custom.el ends here -- cgit v1.2.3