1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-04 11:40:22 +00:00

(process-lines): Move here from ../admin/admin.el.

This commit is contained in:
Glenn Morris 2007-11-17 03:42:22 +00:00
parent efb67a5e8d
commit d43c8d0332

View File

@ -1539,6 +1539,23 @@ FILE should be the name of a library, with no directory name."
;;;; Process stuff. ;;;; Process stuff.
(defun process-lines (program &rest args)
"Execute PROGRAM with ARGS, returning its output as a list of lines.
Signal an error if the program returns with a non-zero exit status."
(with-temp-buffer
(let ((status (apply 'call-process program nil (current-buffer) nil args)))
(unless (eq status 0)
(error "%s exited with status %s" program status))
(goto-char (point-min))
(let (lines)
(while (not (eobp))
(setq lines (cons (buffer-substring-no-properties
(line-beginning-position)
(line-end-position))
lines))
(forward-line 1))
(nreverse lines)))))
;; open-network-stream is a wrapper around make-network-process. ;; open-network-stream is a wrapper around make-network-process.
(when (featurep 'make-network-process) (when (featurep 'make-network-process)