From 476897e4f8a101d808ee0a0a97cc98a46d079af6 Mon Sep 17 00:00:00 2001 From: jao Date: Sat, 18 Dec 2021 21:03:34 +0000 Subject: new geiser-repl-per-project-p to control per-project REPLs And we still need some fixes here when that's active, specifically for the case when you travel to a file outside the current project: it becomes repeless, which is a sad state. --- elisp/geiser-repl.el | 9 ++++++++- 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 () diff --git a/news.org b/news.org index 87c7041..f451390 100644 --- a/news.org +++ b/news.org @@ -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) -- cgit v1.2.3