diff options
author | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-06-28 21:47:49 +0200 |
---|---|---|
committer | Jose Antonio Ortega Ruiz <jao@gnu.org> | 2009-06-28 21:47:49 +0200 |
commit | b0e3391ace36cf2bb111ed0c56883dd1e0cb4117 (patch) | |
tree | 62c3ef8003f944b98fd16327bdc46a7d3e3e280a /elisp/geiser-impl.el | |
parent | 7eae5fdf9d5841027701b2f1d555543b472109b7 (diff) | |
download | geiser-b0e3391ace36cf2bb111ed0c56883dd1e0cb4117.tar.gz geiser-b0e3391ace36cf2bb111ed0c56883dd1e0cb4117.tar.bz2 |
Bug fix: initialisation loop removed.
Diffstat (limited to 'elisp/geiser-impl.el')
-rw-r--r-- | elisp/geiser-impl.el | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el index cb5daa8..32acade 100644 --- a/elisp/geiser-impl.el +++ b/elisp/geiser-impl.el @@ -64,7 +64,8 @@ determine its scheme flavour." (defvar geiser-impl--impls nil) (defun geiser-impl--register (impl) - (when (require (geiser-impl--impl-feature impl) nil t) + (when (and (not (memq impl geiser-impl--impls)) + (require (geiser-impl--impl-feature impl) nil t)) (add-to-list 'geiser-impl--impls impl))) (defun geiser-impl--unregister (impl) @@ -276,11 +277,13 @@ implementation to be used by Geiser.")) (load-library (format "geiser-%s" impl)))) +(provide 'geiser-impl) + + ;;; Initialization: -(mapc 'geiser-impl--register - (or geiser-impl-installed-implementations '(guile plt))) +(eval-after-load 'geiser-impl + '(mapc 'geiser-impl--register + (or geiser-impl-installed-implementations '(guile plt)))) - -(provide 'geiser-impl) ;;; geiser-impl.el ends here |