summary refs log tree commit diff
path: root/emacs/guix-geiser.el
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/guix-geiser.el')
-rw-r--r--emacs/guix-geiser.el13
1 files changed, 13 insertions, 0 deletions
diff --git a/emacs/guix-geiser.el b/emacs/guix-geiser.el
index de139b72ff..eb449bcdb1 100644
--- a/emacs/guix-geiser.el
+++ b/emacs/guix-geiser.el
@@ -24,6 +24,7 @@
 ;;; Code:
 
 (require 'geiser-mode)
+(require 'guix-guile)
 
 (defun guix-geiser-repl ()
   "Return the current Geiser REPL."
@@ -79,6 +80,18 @@ If NO-DISPLAY is non-nil, do not switch to the REPL buffer."
     (unless no-display
       (geiser-repl--switch-to-buffer repl))))
 
+(defun guix-geiser-call (proc &rest args)
+  "Call (PROC ARGS ...) synchronously using the current Geiser REPL.
+PROC and ARGS should be strings."
+  (guix-geiser-eval
+   (apply #'guix-guile-make-call-expression proc args)))
+
+(defun guix-geiser-call-in-repl (proc &rest args)
+  "Call (PROC ARGS ...) in the current Geiser REPL.
+PROC and ARGS should be strings."
+  (guix-geiser-eval-in-repl
+   (apply #'guix-guile-make-call-expression proc args)))
+
 (provide 'guix-geiser)
 
 ;;; guix-geiser.el ends here