diff options
-rw-r--r-- | doc/repl.texi | 5 | ||||
-rw-r--r-- | elisp/geiser-repl.el | 1 | ||||
-rw-r--r-- | news.org | 4 |
3 files changed, 10 insertions, 0 deletions
diff --git a/doc/repl.texi b/doc/repl.texi index 4f28d82..6734d82 100644 --- a/doc/repl.texi +++ b/doc/repl.texi @@ -443,10 +443,15 @@ Guile), and, sometimes a global list of paths to add to the interpreter's load path (that'd be @code{geiser-guile-load-path} for Guile). +@cindex default directory There is also a generic mechanism to specify how to add directories to the initial load path when @code{geiser-repl-current-project-function} is set: you can then customize @code{geiser-repl-add-project-paths} to a list of subdirectories of the project's root to add to the load path. +When this option is set, the working directory of the REPL's buffer +(i.e., the value of the elisp variable @code{default-directory}) will be +set to the directory returned by +@code{geiser-repl-current-project-function}). These variables controlling your scheme's initialisation process are good candidates for an entry in a project's @file{.dir-locals.el} file, diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index 60ce214..57ae204 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -520,6 +520,7 @@ will be set up using `geiser-connect-local' when a REPL is started.") (defun geiser-repl--set-up-load-path () (when geiser-repl-add-project-paths (when-let (root (funcall geiser-repl-current-project-function)) + (setq-local default-directory root) (dolist (p (cond ((eq t geiser-repl-add-project-paths) '(".")) ((listp geiser-repl-add-project-paths) geiser-repl-add-project-paths))) @@ -1,4 +1,8 @@ +* Version 0.23 (unreleased) + + - Set REPL's default directory to project's root + * Version 0.22.2 (February, 2022) - Bug fixes (byte-compiler warnings, corfu compatibility). |