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 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'elisp/geiser-repl.el') 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 () -- cgit v1.2.3