Subject: bug#15228: making open-process public

From: Amirouche Boubekki <[email-masked]>
Date: Sat, 03 Sep 2016 09:33:32 +0200

Wingo wrote:

> We could just expose `open-process' from (ice-9 popen) to start with.

AFAIK, that's what Mark wants.

Here is an example use of `open-process' to wrap `html2text':

    (use-modules (ice-9 popen))

    (define open-process (@@ (ice-9 popen) open-process))

    (define (html2text string)
      (with-error-to-file "/dev/null"
        (lambda ()
          (call-with-values (lambda () (open-process OPEN_BOTH 
"html2text"))
            (lambda (read-port write-port pid)
              (display string write-port)
              (close-port write-port)
              (let ((str (read-string read-port)))
                (close-port read-port)
                (waitpid pid)
                str))))))

IIUC to achieve this goal, I need to make `open-process' public
in `ice-9 popen` module and add documentation for it?

Is that correct?