diff options
| -rw-r--r-- | elisp/geiser-repl.el | 19 | 
1 files changed, 13 insertions, 6 deletions
| diff --git a/elisp/geiser-repl.el b/elisp/geiser-repl.el index ea424e3..45cc164 100644 --- a/elisp/geiser-repl.el +++ b/elisp/geiser-repl.el @@ -49,6 +49,11 @@    :type 'string    :group 'geiser-repl) +(defcustom geiser-repl-guile-init-file "~/.guile-geiser" +  "Initialization file with user code for the Guile REPL." +  :type 'string +  :group 'geiser-repl) +  (defcustom geiser-repl-use-other-window t    "Whether to Use a window other than the current buffer's when  switching to the Geiser REPL buffer." @@ -76,14 +81,16 @@ REPL buffer."        (setq geiser-repl--buffer (current-buffer)))))  (defun geiser-repl--start-process () -  (let ((guile geiser-repl-guile-binary)) +  (let* ((guile geiser-repl-guile-binary) +         (args `("-q" "-L" ,(concat geiser-scheme-dir "/guile/"))) +         (init-file (and geiser-repl-guile-init-file +                         (expand-file-name geiser-repl-guile-init-file))) +         (args (if (and init-file (file-readable-p init-file)) +                   `(,@args "-l" ,init-file) +                 args)))      (message "Starting Geiser REPL ...")      (pop-to-buffer (geiser-repl--buffer)) -    (make-comint-in-buffer "Geiser REPL" -                           (current-buffer) -                           guile -                           nil -                           "-L" (concat geiser-scheme-dir "/guile/")  "-q") +    (apply 'make-comint-in-buffer `("Geiser REPL" ,(current-buffer) ,guile nil ,@args))      (geiser-repl--wait-for-prompt 10000)      (geiser-con--setup-connection (current-buffer) geiser-repl--prompt-regex))) | 
