emacs: Add code to call guile procedures.
* emacs/guix-guile.el (guix-guile-make-call-expression): New function. * emacs/guix-geiser.el: Require 'guix-guile'. (guix-geiser-call, guix-geiser-call-in-repl): New functions.
This commit is contained in:
parent
f029f8a759
commit
f80a7a6c58
|
@ -24,6 +24,7 @@
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(require 'geiser-mode)
|
(require 'geiser-mode)
|
||||||
|
(require 'guix-guile)
|
||||||
|
|
||||||
(defun guix-geiser-repl ()
|
(defun guix-geiser-repl ()
|
||||||
"Return the current 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
|
(unless no-display
|
||||||
(geiser-repl--switch-to-buffer repl))))
|
(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)
|
(provide 'guix-geiser)
|
||||||
|
|
||||||
;;; guix-geiser.el ends here
|
;;; guix-geiser.el ends here
|
||||||
|
|
|
@ -24,6 +24,13 @@
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
|
(defun guix-guile-make-call-expression (proc &rest args)
|
||||||
|
"Return \"(PROC ARGS ...)\" string.
|
||||||
|
PROC and ARGS should be strings."
|
||||||
|
(format "(%s %s)"
|
||||||
|
proc
|
||||||
|
(mapconcat #'identity args " ")))
|
||||||
|
|
||||||
(defun guix-make-guile-expression (fun &rest args)
|
(defun guix-make-guile-expression (fun &rest args)
|
||||||
"Return string containing a guile expression for calling FUN with ARGS."
|
"Return string containing a guile expression for calling FUN with ARGS."
|
||||||
(format "(%S %s)" fun
|
(format "(%S %s)" fun
|
||||||
|
|
Loading…
Reference in New Issue