From b0e3391ace36cf2bb111ed0c56883dd1e0cb4117 Mon Sep 17 00:00:00 2001 From: Jose Antonio Ortega Ruiz Date: Sun, 28 Jun 2009 21:47:49 +0200 Subject: Bug fix: initialisation loop removed. --- elisp/geiser-impl.el | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'elisp/geiser-impl.el') 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) @@ -275,12 +276,14 @@ implementation to be used by Geiser.")) (dolist (impl impls) (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 -- cgit v1.2.3