diff options
-rw-r--r-- | elisp/geiser-repl.el | 9 | ||||
-rw-r--r-- | news.org | 3 |
2 files changed, 10 insertions, 2 deletions
diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index c16444a..eefbd81 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -45,6 +45,12 @@ symbol (e.g., `guile', `chicken', etc.)." :type '(choice (function-item geiser-repl-buffer-name) (function :tag "Other function"))) +(geiser-custom--defcustom geiser-repl-per-project-p nil + "Whether to spawn a separate REPL per project. +See also `geiser-repl-current-project-function' for the function +used to discover a buffer's project." + :type 'boolean) + (geiser-custom--defcustom geiser-repl-current-project-function (if (featurep 'project) #'project-current 'ignore) "Function used to determine the current project. @@ -269,7 +275,8 @@ module command as a string") (setq geiser-repl--project p)) (defsubst geiser-repl--current-project () - (or (funcall geiser-repl-current-project-function) + (or (when geiser-repl-per-project-p + (funcall geiser-repl-current-project-function)) 'no-project)) (defun geiser-repl--live-p () @@ -2,7 +2,8 @@ - New option to add current project's root to load path or any of its subdirectories, ~geiser-repl-add-project-paths~. - Defaulting ~geiser-repl-current-project-function~ to ~project-current~ - in emacsen having it available. + in emacsen having it available, and using the new + ~geiser-repl-per-project-p~ to decide whether to use it. * Version 0.19 (December, 2021) - Bug fixes * Version 0.18 (October, 2021) |