diff options
| -rw-r--r-- | elisp/geiser-impl.el | 24 | ||||
| -rw-r--r-- | elisp/geiser.el | 4 | 
2 files changed, 15 insertions, 13 deletions
| diff --git a/elisp/geiser-impl.el b/elisp/geiser-impl.el index cd702ca..3034cb3 100644 --- a/elisp/geiser-impl.el +++ b/elisp/geiser-impl.el @@ -28,10 +28,12 @@    "Symbol naming the default Scheme implementation."    :type 'symbol) +;;;###autoload (defvar geiser-active-implementations nil)  (geiser-custom--defcustom geiser-active-implementations ()    "List of active installed Scheme implementations."    :type '(repeat symbol)) +;;;###autoload (defvar geiser-implementations-alist nil)  (geiser-custom--defcustom geiser-implementations-alist nil    "A map from regular expressions or directories to implementations.  When opening a new file, its full path will be matched against @@ -140,8 +142,10 @@ in order to determine its scheme flavour."        (push (cons impl methods) geiser-impl--registry))      (push (cons impl file) geiser-impl--load-files))) +;;;###autoload +(progn                               ;Copy the whole def to the autoloads file.  (defun geiser-activate-implementation (impl) -  (add-to-list 'geiser-active-implementations impl)) +  (add-to-list 'geiser-active-implementations impl)))  (defsubst geiser-deactivate-implementation (impl)    (setq geiser-active-implementations @@ -235,13 +239,14 @@ switcher (geiser-NAME-switch), and provides geiser-NAME."           (geiser-menu--add-impl ',name ',runner ',switcher)))))  ;;;###autoload -(defun geiser-impl--add-to-alist (kind what impl &optional append) -  (add-to-list 'geiser-implementations-alist -               (list (list kind what) impl) append)) +(progn +  (defun geiser-impl--add-to-alist (kind what impl &optional append) +    (add-to-list 'geiser-implementations-alist +                 (list (list kind what) impl) append)) -(defun geiser-implementation-extension (impl ext) -  "Add to `geiser-implementations-alist' an entry for extension EXT." -  (geiser-impl--add-to-alist 'regexp (format "\\.%s\\'" ext) impl t)) +  (defun geiser-implementation-extension (impl ext) +    "Add to `geiser-implementations-alist' an entry for extension EXT." +    (geiser-impl--add-to-alist 'regexp (format "\\.%s\\'" ext) impl t)))  ;;; Trying to guess the scheme implementation: @@ -274,8 +279,7 @@ buffer contains Scheme code of the given implementation.")  (defun geiser-impl--guess (&optional prompt)    (or geiser-impl--implementation        (progn (hack-local-variables) -             (and (memq geiser-scheme-implementation -                        geiser-active-implementations) +             (and (geiser-impl--active-p geiser-scheme-implementation)                    geiser-scheme-implementation))        (and (null (cdr geiser-active-implementations))             (car geiser-active-implementations)) @@ -286,7 +290,7 @@ buffer contains Scheme code of the given implementation.")          (let ((bn (buffer-file-name)))            (when bn              (dolist (x geiser-implementations-alist) -              (when (and (memq (cadr x) geiser-active-implementations) +              (when (and (geiser-impl--active-p (cadr x))                           (geiser-impl--match-impl (car x) bn))                  (throw 'impl (cadr x)))))))        geiser-default-implementation diff --git a/elisp/geiser.el b/elisp/geiser.el index 63a308b..70e2716 100644 --- a/elisp/geiser.el +++ b/elisp/geiser.el @@ -100,11 +100,9 @@  (autoload 'turn-off-geiser-mode "geiser-mode"    "Disable Geiser's mode (useful in Scheme buffers)." t) -;;;###autoload  (autoload 'geiser-activate-implementation "geiser-impl"    "Register the given implementation as active.") -;;;###autoload  (autoload 'geiser-implementation-extension "geiser-impl"    "Register a file extension as handled by a given implementation.") @@ -130,7 +128,7 @@  (autoload 'geiser-mode--maybe-activate "geiser-mode")  ;;;###autoload -(add-hook 'scheme-mode-hook 'geiser-mode--maybe-activate) +(add-hook 'scheme-mode-hook #'geiser-mode--maybe-activate)  (provide 'geiser)  ;;; geiser.el ends here | 
