emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] elpa/geiser-guile 7004a73 170/284: Guile: remote REPLs (connect


From: Philip Kaludercic
Subject: [nongnu] elpa/geiser-guile 7004a73 170/284: Guile: remote REPLs (connect-to-guile)
Date: Sun, 1 Aug 2021 18:29:38 -0400 (EDT)

branch: elpa/geiser-guile
commit 7004a7338626d1d1b2d29655222aadb12c4649c4
Author: Jose Antonio Ortega Ruiz <jao@gnu.org>
Commit: Jose Antonio Ortega Ruiz <jao@gnu.org>

    Guile: remote REPLs (connect-to-guile)
    
    geiser-connect (or its specialisation, connect-to-guile) working for
    Guile, where the external process is started with the new --listen
    flag.
---
 elisp/geiser-guile.el | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/elisp/geiser-guile.el b/elisp/geiser-guile.el
index 7dfb9ad..d831bbf 100644
--- a/elisp/geiser-guile.el
+++ b/elisp/geiser-guile.el
@@ -101,7 +101,7 @@ This function uses `geiser-guile-init-file' if it exists."
   (let ((init-file (and (stringp geiser-guile-init-file)
                         (expand-file-name geiser-guile-init-file))))
   `(,@(and (listp geiser-guile-binary) (cdr geiser-guile-binary))
-    "-q" "-L" ,(expand-file-name "guile/" geiser-scheme-dir)
+    "-q"
     ,@(apply 'append (mapcar (lambda (p) (list "-L" p)) 
geiser-guile-load-path))
     ,@(and init-file (file-readable-p init-file) (list "-l" init-file)))))
 
@@ -223,6 +223,13 @@ The new level is set using the value of 
`geiser-guile-warning-level'."
                       (geiser evaluation))))
     (geiser-eval--send/result code)))
 
+(defun connect-to-guile ()
+  "Start a Guile REPL connected to a remote process.
+
+Start the external Guile process with the flag --listen to make
+it spawn a server thread."
+  (geiser-connect 'guile))
+
 (defun geiser-guile--startup ()
   (set (make-local-variable 'compilation-error-regexp-alist)
        `((,geiser-guile--path-rx geiser-guile--resolve-file-x)
@@ -232,6 +239,9 @@ The new level is set using the value of 
`geiser-guile-warning-level'."
   (font-lock-add-keywords nil
                           `((,geiser-guile--path-rx 1
                                                     compilation-error-face)))
+  (geiser-eval--send/result
+   `(:scm ,(format "(set! %%load-path (cons %S %%load-path))"
+                   (expand-file-name "guile/" geiser-scheme-dir))))
   (geiser-guile-update-warning-level))
 
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]