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 | |
| parent | 7eae5fdf9d5841027701b2f1d555543b472109b7 (diff) | |
| download | geiser-b0e3391ace36cf2bb111ed0c56883dd1e0cb4117.tar.gz geiser-b0e3391ace36cf2bb111ed0c56883dd1e0cb4117.tar.bz2 | |
Bug fix: initialisation loop removed.
| -rw-r--r-- | elisp/geiser-impl.el | 13 | ||||
| -rw-r--r-- | elisp/geiser-repl.el | 7 | 
2 files changed, 12 insertions, 8 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 diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 38ebc6c..f1719e8 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -141,8 +141,8 @@ implementation name gets appended to it."      (geiser-repl--history-setup)      (geiser-con--setup-connection (current-buffer) prompt-rx)      (add-to-list 'geiser-repl--repls (current-buffer)) -    (geiser-impl--startup impl) -    (geiser-repl--set-this-buffer-repl (current-buffer)))) +    (geiser-repl--set-this-buffer-repl (current-buffer)) +    (geiser-impl--startup impl)))  (defun geiser-repl--process ()    (let ((buffer (geiser-repl--get-repl geiser-impl--implementation))) @@ -257,7 +257,8 @@ If no REPL is running, execute `run-geiser' to start a fresh one."    (set (make-local-variable 'comint-input-filter) 'geiser-repl--input-filter)    (add-hook 'kill-buffer-hook 'geiser-repl--on-kill nil t)    (comint-read-input-ring t) -  (set-process-sentinel (get-buffer-process (current-buffer)) 'geiser-repl--sentinel)) +  (set-process-sentinel (get-buffer-process (current-buffer)) +                        'geiser-repl--sentinel))  ;;; geiser-repl mode: | 
