diff options
| author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-11 22:01:14 +0200 | 
|---|---|---|
| committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-09-11 22:01:14 +0200 | 
| commit | d5dfd349a4126324ff5fb41a2c20edf8725edda9 (patch) | |
| tree | 37d4d2599a47cf09240f58b1f32743e7d7c24b37 /elisp/geiser-custom.el | |
| parent | bf4b717791be199ce21a0c36b4b7baf3f8511f66 (diff) | |
| download | geiser-guile-d5dfd349a4126324ff5fb41a2c20edf8725edda9.tar.gz geiser-guile-d5dfd349a4126324ff5fb41a2c20edf8725edda9.tar.bz2 | |
Reload: we now remember user customizations and restore them during geiser-reload.
Diffstat (limited to 'elisp/geiser-custom.el')
| -rw-r--r-- | elisp/geiser-custom.el | 17 | 
1 files changed, 17 insertions, 0 deletions
| 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 @@ -41,5 +41,22 @@ +;;; 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 | 
