say I want to call another program (more exactly, another Lisp program
that is not Emacs Lisp) from an Emacs Lisp program.
My special requirement is that I don't want to start a new Emacs
subprocess, but want to communicate with an existing (running) process.
And there maybe several running instances of this program at the same
time, so I want to communicate with one existing (running) process with
a given PID.
Now there is splendid support in Emacs for communicating with other
programs, but always based on the assumption that Emacs starts and
controls a new subprocess.
There is chapter 37.12 "Accessing Other Processes" in the Elisp manual,
and I can do successfully
,-------------------------
| (process-attributes PID)
`-------------------------
to receive a lot of information about the process I want to communicate
with.
But what then? Where are the (e.g.) `process-send-string' or
`process-send-region' functions for external processes I could use to
communicate with my external program?
I could run a server in the external lisp program and use a
network-connection-object to send http-requests (e.g. with the help of
emacs-request.el) via TCP - but that seems to be total overkill for my
requirements.
I just want to use a running external process with a given PID in a
similar way I would use (a)synchronous processes created from Emacs with
`call-process' or `start-process'. How can I do that?
Maybe there is an obvious answer to this question that I don't see.