Files
emacs/etc
Philipp Stephani d28b004768 Add a module function to open a file descriptor connected to a pipe.
A common complaint about the module API is that modules can't
communicate asynchronously with Emacs.  While it isn't possible to
call arbitrary Emacs functions asynchronously, writing to a pipe
should always be fine and is a pretty low-hanging fruit.

This patch implements a function that adapts an existing pipe
process.  That way, users can use familiar tools like process filters
or 'accept-process-output'.

* src/module-env-28.h: Add 'open_channel' module function.

* src/emacs-module.c (module_open_channel): Provide definition for
'open_channel'.
(initialize_environment): Use it.

* src/process.c (open_channel_for_module): New helper function.
(syms_of_process): Define necessary symbol.

* test/src/emacs-module-tests.el (module/async-pipe): New unit test.

* test/data/emacs-module/mod-test.c (signal_system_error): New helper
function.
(signal_errno): Use it.
(write_to_pipe): New function running in the background.
(Fmod_test_async_pipe): New test module function.
(emacs_module_init): Export it.

* doc/lispref/internals.texi (Module Misc): Document new module
function.

* doc/lispref/processes.texi (Asynchronous Processes): New anchor
for pipe processes.

* etc/NEWS: Document 'open_channel' function.
2020-03-26 21:47:25 +01:00
..
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 01:01:53 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 01:08:16 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 01:01:53 +00:00
2020-02-27 18:21:47 +01:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 18:30:58 +02:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-03-23 09:48:15 -07:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2020-01-01 00:59:52 +00:00
2019-07-13 05:09:45 +02:00
2020-01-01 00:59:52 +00:00
2020-02-29 19:30:27 +02:00

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2020 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)