Subject: 26.1; call-process should accept a buffer as stdin. or its doc should reference call-process-region

From: Ernesto Alfonso <[email-masked]>
Date: Sun, 07 Apr 2019 14:39:30 -0700

When looking at the call-process doc, I didn't see a way to pass a
buffer to stdin without creating a temporary file. It looks like
the DESTINATION argument already supports either a file-name or a
buffer, but passing a buffer to INFILE does not seem supported:

    (call-process "cat" (get-buffer "*Messages*") nil)
    *** Eval error ***  Wrong type argument: stringp, #<buffer *Messages*>

Can this be supported? Could call-process-region be merged into
the INFILE argument to call-process?

As a short-term fix, it would be useful if the call-process referred to
call-process-region.

In GNU Emacs 26.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.22.11)
 of 2019-04-01 built on debian-x1g4
Windowing system distributor 'The X.Org Foundation', version 11.0.11902000
System Description:	Debian GNU/Linux 9.8 (stretch)

Recent messages:
Sending email 
Sending email done
Sending...done
Mark set
x C-g is undefined
killed: call-process
Mark set
Mark saved where search started
Mark set
Mark saved where search started

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS NOTIFY
ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 THREADS LCMS2

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Org

Minor modes in effect:
  text-scale-mode: t
  diff-auto-refine-mode: t
  global-erjoalgo-command-mode: t
  erjoalgo-command-mode: t
  show-paren-mode: t
  global-text-scale-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/home/ealfonso/git/autobuild/autobuild hides /home/ealfonso/git/dotemacs/lisp/core/autobuild
/home/ealfonso/.emacs.d/elpa/s-20180406.808/s hides /home/ealfonso/git/dotemacs/lisp/libs/s
/home/ealfonso/quicklisp/dists/quicklisp/software/slime-v2.23/contrib/slime-cl-indent hides /home/ealfonso/git/dotemacs/lisp/libs/slime-cl-indent
/home/ealfonso/.emacs.d/elpa/dash-20190320.1406/dash hides /home/ealfonso/git/dotemacs/lisp/libs/dash

Features:
(smtpmail ielm shadow sort mailalias mail-extr emacsbug network-stream
nsm starttls gnus-agent gnus-srvr gnus-score score-mode nnvirtual
gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nntp
gnus-cache cl-print sh-script smie executable misearch multi-isearch
dired-aux ffap face-remap vc-git diff-mode diary-lib diary-loaddefs
cal-iso org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum
gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source tls
gnutls utf7 netrc nnoo parse-time gnus-spec gnus-int gnus-range gnus-win
org-docview doc-view jka-compr image-mode org-bibtex bibtex org-bbdb
org-w3m org-agenda files-x tmp-completions tetris-o-1 beeper translation
babel mm-url url url-proxy url-privacy url-expand url-methods
url-history url-cookie url-domsuf url-util mailcap gnus nnheader
wid-edit wm-windows slime-fancy slime-trace-dialog slime-fontifying-fu
slime-package-fu slime-references slime-compiler-notes-tree
slime-scratch slime-presentations bridge slime-macrostep macrostep
slime-mdot-fu slime-enclosing-context slime-fuzzy slime-fancy-trace
slime-fancy-inspector slime-c-p-c slime-editing-commands slime-autodoc
slime-repl elp slime-parse slime hi-lock company-oddmuse
company-keywords company-etags company-gtags company-dabbrev-code
company-dabbrev company-files company-capf company-cmake company-xcode
company-clang company-semantic company-eclim company-template
company-bbdb elec-pair lisp-mnt gud apropos compile etags xref project
arc-mode archive-mode hyperspec browse-url slime-autoloads ox-texinfo
ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn
nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar
ox-html table ox-ascii ox-publish ox org-crypt org-element avl-tree
generator org org-macro org-footnote org-pcomplete pcomplete org-list
org-faces org-entities noutline outline org-version ob-emacs-lisp ob
ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint comint
ansi-color ring ob-core ob-eval org-compat org-macs org-loaddefs
cal-menu calendar cal-loaddefs erc-goodies erc erc-backend erc-compat
thingatpt bbdb-mua bbdb-com crm bbdb-message sendmail message rmc puny
dired dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg
gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse
rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr mailabbrev
mail-utils gmm-utils mailheader bbdb bbdb-site timezone proxy-mode
project-opener org-omnibar erjoalgo-command-mode command-mode-commands
anonymizer genpass ert pp ewoc debug autobuild-examples autobuild
selcand flycheck cl-extra json map find-func help-mode rx subr-x header2
sticky-windows company edmacro kmacro pcase dedicated dash-functional
plusx my-emacs-settings paren server isearch-fast-reverse buttons
zoom-global easy-mmode quick-yes advice goto-last-change f dash s
finder-inf info cl package easymenu epg-config url-handlers url-parse
auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs
password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv
cl-loaddefs cl-lib time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 682551 187690)
 (symbols 48 61521 6)
 (miscs 40 257 1021)
 (strings 32 182018 12352)
 (string-bytes 1 5267657)
 (vectors 16 63279)
 (vector-slots 8 1719029 176918)
 (floats 8 382 605)
 (intervals 56 3956 82)
 (buffers 992 34))