summaryrefslogtreecommitdiff
path: root/doc/lispref/processes.texi
Commit message (Collapse)AuthorAgeFilesLines
* Rename shell-split-string to split-string-shell-commandLars Ingebrigtsen2021-07-151-2/+2
| | | | | | * lisp/shell.el (split-string-shell-command): * doc/lispref/processes.texi (Shell Arguments): Rename from shell-split-string.
* Add a new function 'shell-split-string'Lars Ingebrigtsen2021-07-151-0/+10
| | | | | * doc/lispref/processes.texi (Shell Arguments): Document it. * lisp/shell.el (shell-split-string): New function.
* * lisp/emacs-lisp/bindat.el: Allow non-fixed size of `strz`Stefan Monnier2021-04-151-2/+3
| | | | | | | | | (bindat--unpack-strz): Allow `len` to be nil. (bindat--pack-strz): New function. (bindat--type) <strz>: Make `len` arg optional. (bindat-type): Adjust debug spec and docstring accordingly. * doc/lispref/processes.texi (Bindat Types): Adjust accordingly.
* * doc/lispref/processes.texi: Fix small misprintFilipp Gunbin2021-04-131-1/+1
|
* ; Fix last change.Eli Zaretskii2021-03-061-2/+2
|
* Improve documentation of BindatEli Zaretskii2021-03-061-24/+37
| | | | | | | * doc/lispref/processes.texi (Bindat Types, Bindat Functions) (Bindat Computed Types): Improve wording and add indexing. * etc/NEWS: Add a pointer to the ELisp manual for "Bindat".
* Bindat: new macro-expansion based data layout languageStefan Monnier2021-03-051-144/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thorough redesign of the Bindat system, which makes it possible to define new Bindat type forms, define recursive types, control the values returned when unpacking, freely mix arbitrary computations with type definitions, as well as support for arbitrary sized integers. This also reverts the recent addition of the `bindat-spec` macro and the support for 64bit integers in the old Bindat language since that is now considered obsolete anyway. * doc/lispref/processes.texi (Bindat Types): Rename from `Bindat Spec` and rewrite for the new sublanguage. (Bindat Functions): Adjust to the new terminology. (Bindat Computed Types): New node. * lisp/emacs-lisp/bindat.el (bindat--type): New type. (bindat--unpack-u64, bindat--unpack-u64r): Delete functions. (bindat--unpack-item, bindat--pack-item, bindat--fixed-length-alist): Revert addition of support for 64bit integers. (bindat--unpack-group, bindat--length-group, bindat--pack-group): Handle the new `bindat--type` values. (bindat-spec): Revert addition of this macro. (bindat--unpack-uint, bindat--unpack-uintr, bindat--pack-uint) (bindat--pack-uintr): New functions. (bindat-type, bindat-defmacro, bindat--pcase): New macros. (bindat-type): New Edebug elem. (bindat--type): New generic function. (bindat--primitives): New constant. (bindat--macroenv, bindat--op): New vars. (bindat--make-docstring, bindat--fun, bindat--makefun, bindat--toplevel): New functions. * test/lisp/emacs-lisp/bindat-tests.el: Use `bindat-type`. (ip): New Bindat type. (header-bindat-spec, data-bindat-spec, packet-bindat-spec): Adjust to new `bindat-type` macro. (bindat-test-unpack): Simplify now that the order of fields is preserved. (bindat-test--int-websocket-type, bindat-test--LEB128): New consts. (bindat-test--pack-val, bindat-test--sint, bindat-test--recursive): New tests.
* * lisp/emacs-lisp/bindat.el: Add 64bit int supportStefan Monnier2021-02-151-3/+8
| | | | | | | (bindat--unpack-u64, bindat--unpack-u64r, bindat--pack-u64) (bindat--pack-u64r): New functions. (bindat--unpack-item, bindat--pack-item): Use them. (bindat--fixed-length-alist): Add new types.
* * lisp/emacs-lisp/bindat.el (bindat-spec): New macro.Stefan Monnier2021-02-151-12/+16
| | | | | | | | | | | | | | It's basically an alias for `quote`, but it offers the advantage of providing Edebug support and opens the possibility of compiling the bindat spec to ELisp code. * doc/lispref/processes.texi (Bindat Spec): Document `bindat-spec`. (Bindat Functions): Tweak a few things to adjust to the state of the code. * test/lisp/emacs-lisp/bindat-tests.el: Use it. * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests--read): New function. (edebug-tests--&rest-behavior): New test.
* Clarify the "Sentinels" node in the lispref manualLars Ingebrigtsen2021-02-041-1/+5
| | | | | * doc/lispref/processes.texi (Sentinels): Mention "run" and that the strings can be anything (bug#30461).
* Add a bit more clarification around standard error processes.Philipp Stephani2021-01-171-1/+26
| | | | | | | * doc/lispref/processes.texi (Asynchronous Processes): Document how to obtain the standard error process that Emacs creates. (Accepting Output): Add an example how to wait for standard error in case Emacs has created a standard error process.
* Merge from origin/emacs-27Paul Eggert2021-01-011-1/+2
|\ | | | | | | | | | | 74a77ef299 Improve documentation of 'network-lookup-address-info' c6d5555646 Display messages sent using ERC's /say c156723769 Fix Rmail summary display when From: header is malformed
| * Improve documentation of 'network-lookup-address-info'Eli Zaretskii2020-12-311-1/+2
| | | | | | | | | | | | * src/process.c (Fnetwork_lookup_address_info): * doc/lispref/processes.texi (Misc Network): Document the error message emitted by 'network-lookup-address-info' when it fails.
* | Update copyright year to 2021Paul Eggert2021-01-011-1/+1
| | | | | | | | Run "TZ=UTC0 admin/update-copyright".
* | Use the full name of the null byte/character, not its abbreviationAndreas Schwab2020-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (inhibit-nul-byte-detection): Make it an obsolete alias. * src/coding.c (setup_coding_system): Use original name. (detect_coding): Rename nul_byte_found => null_byte_found. (detect_coding_system): Use original name. Rename nul_byte_found => null_byte_found. (Fdefine_coding_system_internal): Use original name. (syms_of_coding): Rename inhibit-nul-byte-detection to inhibit-null-byte-detection. * src/w16select.c (get_clipboard_data): Rename nul_char to null_char. * src/json.c (check_string_without_embedded_nulls): Rename from check_string_without_embedded_nuls. (Fjson_parse_string): Adjust accordingly. * src/coding.h (enum define_coding_undecided_arg_index) (enum coding_attr_index): Rename ...nul_byte... to ...null_byte.... * lisp/info.el (info-insert-file-contents, Info-insert-dir): * lisp/international/mule.el (define-coding-system): * lisp/vc/vc-git.el (vc-git--call): * doc/lispref/nonascii.texi (Lisp and Coding Systems): Use original name.
* | Make set-process-buffer also update the process markLars Ingebrigtsen2020-09-241-1/+2
| | | | | | | | | | * src/process.c (Fset_process_buffer): Update the process mark (bug#43573).
* | ; * doc/lispref/processes.texi (Synchronous Processes): Fix typo.Michael Albinus2020-09-201-1/+1
| |
* | Extend process-lines to allow exit status handlingPeder O. Klingenberg2020-09-201-0/+5
| | | | | | | | | | | | | | | | * subr.el (process-lines-handling-status): Extension of the old process-lines, with more flexible handling of the exit status. (process-lines): Old API implemented using the new function. (process-lines-ignore-status): Another use of the new function - return the output lines regardless of the exit status (bug#1321).
* | Allow open-network-stream to use different TLS capability commandsLars Ingebrigtsen2020-07-191-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Network): Document non-string capability command. * lisp/gnus/nntp.el (nntp-open-connection): Use HELP for Typhoon and CAPABILITIES for everything else (bug#41960). * lisp/net/network-stream.el (open-network-stream): Document function variety of :capability-command. (network-stream-open-starttls): Use it. (network-stream-open-tls): Ditto. (network-stream-open-shell): Ditto. (network-stream--capability-command): New helper function.
* | Introduce process-file-return-signal-stringMichael Albinus2020-05-161-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Synchronous Processes): Describe `process-file-return-signal-string'. * doc/misc/tramp.texi: Adapt Tramp and Emacs version numbers. (Remote processes): Describe `process-file-return-signal-string' and $INSIDE_EMACS. * etc/NEWS: Describe `process-file-return-signal-string'. Fix typos. * lisp/simple.el (process-file-return-signal-string): New user option. * lisp/net/tramp-adb.el (tramp-adb-handle-process-file): * lisp/net/tramp-sh.el (tramp-sh-handle-process-file): Use it. * lisp/net/tramp.el (tramp-get-signal-strings): New defun. * test/lisp/net/tramp-tests.el (tramp-test28-process-file): Adapt test.
* | * doc/lispref/processes.texi (Network): Fix xref usage.Glenn Morris2020-04-131-1/+1
| |
* | Add :coding support to open-network-stream and open-gnutls-streamRobert Pluim2020-04-071-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Network): Describe :coding keyword support. * doc/misc/emacs-gnutls.texi (Help For Developers): Describe :coding keyword support. * etc/NEWS: Announce change to open-network-stream and open-gnutls-stream. * lisp/net/gnutls.el (open-gnutls-stream): Add support for :coding, pass it down to open-network-stream. * lisp/net/network-stream.el (open-network-stream) (network-stream-open-plain, network-stream-open-starttls): Add support for :coding, pass it down to make-network-process. (network-stream-open-shell): Add support-for :coding, use set-process-coding-system to set it after process creation.
* | Add a module function to open a file descriptor connected to a pipe.Philipp Stephani2020-03-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Remove references to obsolete librariesStefan Kangas2020-01-161-8/+5
|/ | | | | | | | | | * doc/emacs/cmdargs.texi (General Variables): * doc/lispintro/emacs-lisp-intro.texi (Lisp History): * doc/lispref/processes.texi (Network): * doc/misc/gnus-coding.texi (Gnus Coding Style): * doc/misc/gnus.texi (Oort Gnus): * doc/misc/smtpmail.texi (Encryption): Remove references to obsolete libraries. (Bug#37964)
* Update copyright year to 2020Paul Eggert2020-01-011-1/+1
| | | | Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
* Spelling fixesPaul Eggert2019-12-091-1/+1
|
* Extend network-interface-list to return IPv6 and network infoRobert Pluim2019-11-261-6/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug#38218 * src/process.c (Fnetwork_interface_list): Extend argument list to allow requesting full network info and/or IPv4/IPv6 info. (network_interface_list) [HAVE_GETIFADDRS]: Use getifaddrs to retrieve interface IP addresses. * src/process.h: Update prototype of network_interface_list. * src/w32.c (g_b_init_get_adapters_addresses): New init flag. (globals_of_w32): Initialize it. (GetAdaptersAddresses_Proc): New function typedef. (get_adapters_addresses): New wrapper function. (init_winsock): Load htonl and ntohl. (sys_htonl, sys_ntohl): New wrapper functions. (network_interface_list): Implement in terms of get_adapters_addresses. * nt/inc/sys/socket.h: Add sys_htonl and sys_ntohl prototypes. * etc/NEWS: Announce IPv4/IPv6 changes in network-interface-list. * doc/lispref/processes.texi (Misc Network): Document updated arglist and return values for network-interface-list.
* Default network-stream-use-client-certificates to nilRobert Pluim2019-11-231-5/+5
| | | | | | | | | | | | | | | | * lisp/net/network-stream.el (network-stream-use-client-certificates): Default to nil. (open-network-stream): Adapt description to new default of network-stream-use-client-certificates. * etc/NEWS: network-stream-use-client-certificates defaults to nil now. * doc/lispref/processes.texi (Network): Flip network-stream-use-client-certificates description. * doc/misc/auth.texi (Help for users): Mention network-stream-use-client-certificates.
* Always check for client-certificatesRobert Pluim2019-11-051-2/+6
| | | | | | | | | | | | | | | * lisp/net/network-stream.el (network-stream-use-client-certificates): New user option. (open-network-stream): If 'network-stream-use-client-certificates' is t, and the user hasn't specified :client-certificate, do certificate lookups via 'auth-source'. (network-stream-certificate): Only return key and certificate files that exist. * doc/lispref/processes.texi (Network): Document new client-certificate behavior. * etc/NEWS: Document 'network-stream-use-client-certificates'.
* Document how to listen on all interfaces in the Elisp manualRobert Pluim2019-09-241-1/+5
| | | | | * doc/lispref/processes.texi (Network Processes): Explain how to listen on all interfaces.
* Update some URLsPaul Eggert2019-09-231-2/+2
| | | | | | | | | | | | | | | | | This mostly changes http: to https: in URLs. It also updates some URLs that have moved, removes some URLs that no longer work, recommends against using procmail (procmail.org no longer works), and removes some mentions of the no-longer-existing Gmane, LPF and VTW. It doesn't update all URLs, just the ones I had time for. * GNUmakefile (help): * admin/admin.el (manual-doctype-string): * admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map): * admin/charsets/mapconv: * lisp/net/soap-client.el (soap-create-envelope): * lisp/org/org.el (org-doi-server-url): * lisp/textmodes/bibtex.el (bibtex-generate-url-list): Prefer https: to http: un URLs.
* Allow `process-contact' not to blockLars Ingebrigtsen2019-09-201-1/+6
| | | | | | | | | | * doc/lispref/processes.texi (Process Information): Document it. * lisp/simple.el (list-processes--refresh): Don't wait for contact information for non-setup processes. * src/process.c (Fprocess_contact): Take an optional parameter to avoid blocking (bug#37408).
* Correct description of network-lookup-address-infoRobert Pluim2019-08-231-1/+1
| | | | | * doc/lispref/processes.texi (Misc Network): Remove erroneous text about port numbers
* Merge remote-tracking branch 'origin/netsec'Lars Ingebrigtsen2019-08-231-0/+15
|\
| * Add network-lookup-address-info descriptionRobert Pluim2018-07-171-0/+15
| | | | | | | | | | * doc/lispref/processes.texi (Misc Network): Document network-lookup-address-info.
* | Merge from origin/emacs-26Glenn Morris2019-08-201-16/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | 615cff4 (origin/emacs-26) Fix process filter documentation (Bug#13400) beb1d22 Fix query-replace-regexp undo feature # Conflicts: # test/lisp/replace-tests.el
| * | Fix process filter documentation (Bug#13400)Noam Postavsky2019-08-191-16/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Asynchronous Processes): Note that input may read when sending data as well. (Output from Processes): Note that functions which send data may also trigger reading from processes. (Input to Processes, Filter Functions): Note that filter functions may be called recursively.
* | | Allow serial-term to take an optional argument for line-modeLars Ingebrigtsen2019-07-271-1/+3
| | | | | | | | | | | | | | | | | | | | | * lisp/term.el (serial-term): Allow taking an optional argument to avoid term-raw-mode (bug#24922). * doc/lispref/processes.texi (Serial Ports): Document it.
* | | Merge from origin/emacs-26Glenn Morris2019-06-071-2/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9254885 (origin/emacs-26) Resurrect display-line-number-mode in clien... aecbbd5 * src/fns.c (Fmapconcat): Doc fix. (Bug#35710) 8e5fc38 Fix typo ee21b40 * lisp/term/w32-win.el ([noname]): Bind to 'ignore'. (Bug#36... f68b33f Fix styling of Unicode codepoints in manuals ff7ec6f Fix a few uses of quotes in user manual b67042b More minor copyedits in the Emacs manual 9734b5c Fix minor issues in the Emacs manual c153250 Try to improve text on atomic windows in Elisp manual fb314ba Don't recommend insert-before-markers in process filters
| * | Don't recommend insert-before-markers in process filtersNoam Postavsky2019-06-011-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | See <https://lists.gnu.org/r/emacs-devel/2019-05/msg00062.html> and Bug#35334. * doc/lispref/processes.texi (Filter Functions): Go back to using plain insert in the example filter. Add note about updating window point.
* | | Merge from origin/emacs-26Glenn Morris2019-05-081-1/+1
|\| | | | | | | | | | | ec02c73 Update process filter example (Bug#35044)
| * | Update process filter example (Bug#35044)Noam Postavsky2019-04-301-1/+1
| | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Filter Functions): Use insert-before-markers in the "ordinary" filter example, like internal-default-process-filter does.
| * | Backport doc improvement in ELisp manualEli Zaretskii2019-04-201-0/+20
| | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Accepting Output): Backport: document how do avoid race conditions while waiting for all of the process's output to arrive.
* | | Remote processes cannot use a pipe process for stderrMichael Albinus2019-04-231-1/+8
| | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Asynchronous Processes): (Accepting Output): Remote processes cannot use a pipe process for stderr.
* | | Improve documentation around standard error pipes (Bug#35328).Philipp Stephani2019-04-221-0/+26
| | | | | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Asynchronous Processes): Document existence and properties of the standard error process. (Accepting Output): Document that one has to accept output from the standard error process separately.
* | | ; Minor improvement in documentation from recent commitEli Zaretskii2019-04-191-4/+5
| | | | | | | | | | | | | | | | | | * doc/lispref/processes.texi (Asynchronous Processes): Say explicitly that it's an error to pass non-nil value for :stopped when starting a process. (Bug#30460)
* | | Remove :stop key from make-process.Philipp Stephani2019-04-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has never worked and caused issues such as Bug#30460. * src/process.c (Fmake_process): Don't accept :stop key any more. (syms_of_process): Define needed symbol 'null'. * test/src/process-tests.el (make-process/stop): New unit test. * doc/lispref/processes.texi (Asynchronous Processes): Remove :stop key from manual.
* | | Fix misuses of NULL when talking about the NUL characterStefan Monnier2019-03-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/subr.el (inhibit-null-byte-detection): Make it an obsolete alias. * src/coding.c (setup_coding_system): Use new name. (detect_coding): Rename null_byte_found => nul_byte_found. (detect_coding_system): Use new name. Rename null_byte_found => nul_byte_found. (Fdefine_coding_system_internal): Use new name. (syms_of_coding): Rename inhibit-null-byte-detection to inhibit-nul-byte-detection. * src/w16select.c (get_clipboard_data): null_char => nul_char. * src/json.c (check_string_without_embedded_nuls): Rename from check_string_without_embedded_nulls. (Fjson_parse_string): Adjust accordingly. * src/coding.h (enum define_coding_undecided_arg_index) (enum coding_attr_index): ...null_byte... => ...nul_byte.... * lisp/info.el (info-insert-file-contents, Info-insert-dir): * lisp/international/mule.el (define-coding-system): * lisp/vc/vc-git.el (vc-git--call): * doc/lispref/nonascii.texi (Lisp and Coding Systems): Use the new name.
* | | Use IPv6 localhost when family is 'ipv6Robert Pluim2019-02-041-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes Bug#34193 * src/process.c (Fmake_network_process): Explicitly use ::1 when using IPv6 with 'local. Update docstring. * test/lisp/net/network-stream-tests.el (make-ipv6-tcp-server-with-unspecified-port): (make-ipv6-tcp-server-with-specified-port): Test creating ipv6 local server. (make-server): Add optional family argument, default ipv4 (echo-server-with-local-ipv4): Test connecting to 'local ipv4 (echo-server-with-local-ipv6): Test connecting to 'local ipv6 * doc/lispref/processes.texi (Network Processes): Describe behavior when using 'local. * etc/NEWS: Document new 'make-network-process' behavior when connecting to 'local with ipv6.
* | | * doc/lispref/processes.texi (Accepting Output): Simplify.Paul Eggert2019-01-161-5/+5
| | |