[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/4] emacs: Add code to pipe guix output to external program.
From: |
Alex Kost |
Subject: |
[PATCH 1/4] emacs: Add code to pipe guix output to external program. |
Date: |
Mon, 31 Aug 2015 00:04:23 +0300 |
* emacs/guix-main.scm: Use (ice-9 popen) module.
(pipe-guix-output): New procedure.
---
emacs/guix-main.scm | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm
index fe224fb..8d3a881 100644
--- a/emacs/guix-main.scm
+++ b/emacs/guix-main.scm
@@ -45,6 +45,7 @@
(use-modules
(ice-9 vlist)
(ice-9 match)
+ (ice-9 popen)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-11)
@@ -949,6 +950,15 @@ GENERATIONS is a list of generation numbers."
"Return string with 'guix COMMANDS ... --help' output."
(apply guix-command-output `(,@commands "--help")))
+(define (pipe-guix-output guix-args command-args)
+ "Run 'guix GUIX-ARGS ...' command and pipe its output to a shell command
+defined by COMMAND-ARGS.
+Return #t if the shell command was executed successfully."
+ (let ((pipe (apply open-pipe* OPEN_WRITE command-args)))
+ (with-output-to-port pipe
+ (lambda () (apply guix-command guix-args)))
+ (zero? (status:exit-val (close-pipe pipe)))))
+
;;; Lists of packages, lint checkers, etc.
--
2.4.3