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 | d0c74836bd62ec7adb853e8239af4005c1801aaf (patch) | |
tree | 95efb5a78bcce2cae2a47b1100bb35a9e2cb0c6c /elisp/geiser-impl.el | |
parent | 870d60071b8bb7d56bb3c9433b8b4b07d8206a60 (diff) | |
download | geiser-guile-d0c74836bd62ec7adb853e8239af4005c1801aaf.tar.gz geiser-guile-d0c74836bd62ec7adb853e8239af4005c1801aaf.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 |