* doc/lispref/processes.texi (Asynchronous Processes):
* src/process.c (Fmake_process): Document that standard error is mixed
with standard output if STDERR is nil.
* test/src/process-tests.el (make-process/mix-stderr): New unit test.
Also, be more systematic in calls to string_to_number.
* src/sysdep.c (list_system_processes) [HAVE_PROCFS]: Allow pids
to be floating-point if they exceed fixnum range. This partially
reverts my patch 2018-03-09T20:06:05Z!eggert@cs.ucla.edu, which
went too far in fixing string-to-number mishandling.
5c91ca8 Fix create_process bug breaking eudc-expand-inline
e244fed Clarify that nil doesn't match itself as a cl-case clause (Bu...
df0e7e2 Improve SVG documentation
a34ef52 Document the "URL" keyword in library headers
fbc7f9a * test/lisp/international/mule-tests.el: Avoid local variable...
16faff6 ; * lisp/org/org-table.el: Replace obsolete alias in comment.
e5a2933 (origin/emacs-26) lisp/vc/: documentation fixes
f21f8e6 Document 'desktop-files-not-to-save'
d8917eb Improve documentation of Profiling features
b228839 Improve indexing of "performance" in ELisp manual
ab67b3e Minor change in Emacs manual's VC chapter
c352434 Avoid memory corruption with specpdl overflow + edebug (Bug#3...
593bbda Document comment-fill-column in the manual (Bug#11636)
bd4cc8d * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
69107f3 ; Fix doc typos related to indefinite articles
aaad1e6 Merge branch 'emacs-26' of git.savannah.gnu.org:/srv/git/emac...
5906418 More fixes for the Emacs manual
9ab3df1 ; Fix doc typos related to indefinite articles
66a4e65 ; Fix doc typos related to indefinite articles
35e5c57 ; Fix doc typos related to indefinite articles
* src/process.c (read_process_output): Track bytes read from
a process.
(wait_reading_process_output): If called recursively through
timers and/or process filters via accept-process-output, it is
possible that the output of wait_proc has already been read by
one of those recursive calls, leaving the original call hanging
forever if no further output arrives through that fd and no
timeout has been set. Fix that by using the process read
accounting to keep track of how many bytes have been read and
use that as a condition to break out of the infinite loop and
return to the caller as well as to calculate the proper return
value (if a wait_proc is given that is).
* src/process.h (struct Lisp_Process): Add nbytes_read to track
bytes read from a process.
* doc/lispref/processes.texi (Misc Network): Omit discussion of
internal--daemon-sockname, as non-Emacs code shouldn't rely on it.
* src/process.c (syms_of_process): Rename internal-daemon-sockname
to internal--daemon-sockname. All uses changed.
* lisp/server.el (server--external-socket-initialized): Rename
from server-external-socket-initialised, since it should be
private and Emacs uses American spelling. All uses changed.
* src/emacs.c, src/lisp.h: Revert previous changes, as the
initialization is now done in src/process.c, which already
includes the relevant files.
* src/process.c (union u_sockaddr): Move decl to top level.
(external_sock_name, Fget_external_sockname): Remove, replacing
with Vinternal__external_sockname. All uses changed.
(init_process_emacs): Deduce socket name ourselves rather than
have main.c do it. Use conv_sockaddr_to_lisp instead of doing
it by hand. Conditionalize it on HAVE_GETSOCKNAME.
* lisp/server.el: (server-external-socket-initialised): New
(server-name): Compute server name from `get-external-sockname'.
(server-socket-dir): Compute socket dir from
`get-external-sockname'.
(server-start): Don't check for existing server when an
uninitialised external socket has been passed to Emacs.
* src/emacs.c: (main): Obtain socket name via getsockname and pass
to `init_process_emacs'.
* src/lisp.h: (init_process_emacs): Add second parameter.
* src/process.c: (external_sock_name): New.
(get-external-sockname): New.
(init_process_emacs): Set `external_sock_name' to `sockname'
parameter.
0276743 (origin/emacs-26) Doc string fix in latin-alt.el
c9269af Minor improvements in package.texi
898a3e4 Minor improvement in Emacs user manual
8f7d718 * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
989d0af Improve documentation of mini-window resizing
923e415 More changes in the Emacs manual
565adf2 Clarify that text-quoting-style doesn't affect *Info* (Bug#24...
2dd273b Mention that shell quoting of % on w32 may fail (Bug#19350)
19fa6d5 Fix --no-build-details for w32 and macOS
979944c * doc/lispref/anti.texi (Antinews): Add some more antinews.
c2727e3 Fix crashes when run with --no-build-details
dc08490 More changes for the manual
04c5bd5 Doc fixes for process functions (Bug#30349)
e209034 Fix shr and CSS 4 color maps
5fe8192 Yet another round of improvements in the manual
Conflicts:
doc/emacs/files.texi
test/lisp/subr-tests.el
463f96b481 * doc/lispref/searching.texi: Document regexp repetition l...
08a6195571 ; test/README: Document TEST_LOAD_EL parameter.
7bbea90b1a * src/syntax.c (char-syntax): Warn about ignoring text pro...
50fcbb5f61 ; * src/process.c (Fprocess_contact): Fix docstring typo.
81ae9c8c05 Load mm-util as needed for url-file and url-data (Bug#30258)
5a1ee67ae1 Another minor copyedit in the manual's "Scroll Bars"
226a651e9e Minor fix in documentation of 'equal'
b26786c8d9 * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix....
5699a824f0 Minor rewording in Emacs manual's "Help Mode" node
f35ff0156e Fixes for Emacs manual in frames.texi
6cd4e8dcc5 * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 t...
1412cf3edd Fix a few issues with latest GTK scaling changes
59db8dca03 Use scaled coordinates when calling into GTK
2892f05792 Scale monitor dimensions obtained from GTK
2c0cfa6455 * ChangeLog.3: Update
4387bb44ae Update authors
bce51bd6f7 * lisp/gnus/message.el (message-do-auto-fill): Prevent do-...
bd2a2a1e84 Improve documentation of etags
7ba75b9637 Teach etags new interpreters for some languages
1f7f03742d * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-stri...
dbb4aac212 * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#2...
80463a43da Improve documentation of fill-separate-heterogeneous-words...
4bd2416d55 Fix documentation of some x-* functions
9c2b11484f Inherit query-on-exit flag to stderr process (Bug#30031)
3efb1e7def Fix Bug#30057
a9b884c60f Tag some unstable tests, and skip by default (bug#24503)
# Conflicts:
# test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
* src/process.c (Fmake_process): Have the pipe process honor the
parent's query-on-exit flag.
* test/src/process-tests.el (make-process/noquery-stderr): New test.
63b04c11d5 Fix copyright years by hand
5c7dd8a783 Update copyright year to 2018
220a9ecba1 Merge from Gnulib
312c565566 Don't add empty keyboard macro to macro ring (Bug#24992)
39ca289a7a Allow customization of decoding of "man" command
f8240815ea * etc/NEWS: Add security consideration note on passphrase ...
0c78822c70 Fix subtle problem with scroll-down when scroll-margin is ...
acd289c5a4 Fix problems with indexing in User manual
b240c7846b * lisp/help.el (describe-key): Only (copy-sequence elt) wh...
e879a5444a * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
81b1028b63 Improve documentation of 'inhibit-modification-hooks' and ...
7175496d7a Fix doc string of 'enable-recursive-minibuffers'
5b38406491 Fix documentation of delsel and of killing text
# Conflicts:
# etc/NEWS
# etc/refcards/ru-refcard.tex
* src/process.c (Fmake_network_process):
Avoid duplicate test of NILP (host), which apparently confuses
GCC into thinking that portstringlen might be used uninitialized.
* msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
(XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
(LIBSYSTEMD_LIBS): Edit to empty.
(LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
(PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
Remove editing of lines that are no longer present in
src/Makefile.in.
* msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
(NEED_MKTIME_WORKING): Define to 1.
(HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
DJGPP >= 2.05.
(HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
Define PACKAGE_VERSION, not VERSION.
(FLEXIBLE_ARRAY_MEMBER): Define to empty.
(HAVE_DECL_*_UNLOCKED): Define to 0.
(HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
(PENDING_*): Don't define, as Gnulib no longer supports that.
Instead, define _IOERR as it is in libc/file.h.
* msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
determine the current directory.
(UPDATE_MANIFEST, UTILITIES): Don't edit.
* msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
* msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
(HYBRID_MALLOC): Edit to empty.
(am__cd): Don't edit.
(../config.status): Replaces $(top_builddir)/config.status.
Define OMIT_GNULIB_MODULE_foo = true for modules not built for
MS-DOS. Convert GL_GENERATE_xxx_H_TRUE and
GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
* msdos/mainmake.v2 (src): Use 'compile-one-process', and make
the command line shorter to fit into 126-char limit of
command.com.
* config.bat: Generate src/deps/*.d files. Rename more files
like djtar on plain DOS would.
Don't rename src/dir.h: it is long gone. Edit
lib/gnulib.mk.in using the same scripts as for
lib/Makefile.in.
* msdos/depfiles.bat: Create *.d files, not *.Po.
* src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
error message.
* src/thread.h [MSDOS]: Include <signal.h>.
* src/sysselect.h (select) [MSDOS]: Undefine, to avoid
compilation errors.
* src/sysdep.c (block_interrupt_signal, restore_signal_mask):
Expose to MSDOS build.
* src/process.c (update_processes_for_thread_death)
[!subprocess]: No-op implementation.
[HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
declaration of nofile_limit outside "#ifdef subprocesses", as
it's needed for MSDOS.
* src/msdos.c (faccessat): Declare fullname[].
* src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
Include termhooks.h.
* src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
WINDOWSNT, not DOS_NT.
* admin/admin.el (set-version): Set version on PACKAGE_VERSION.
Most of this change is to boilerplate commentary such as license URLs.
This change was prompted by ftp://ftp.gnu.org's going-away party,
planned for November. Change these FTP URLs to https://ftp.gnu.org
instead. Make similar changes for URLs to other organizations moving
away from FTP. Also, change HTTP to HTTPS for URLs to gnu.org and
fsf.org when this works, as this will further help defend against
man-in-the-middle attacks (for this part I omitted the MS-DOS and
MS-Windows sources and the test tarballs to keep the workload down).
HTTPS is not fully working to lists.gnu.org so I left those URLs alone
for now.
* lisp/net/tramp.el (tramp-interrupt-process): Rename from
`tramp-advice-interrupt-process'. Adapt according to changed API.
(top): Add it to `interrupt-process-functions'.
* src/process.c (Finternal_default_interrupt_process): New defun.
(Finterrupt_process): Change implementation, based on
Vinterrupt_process_functions.
(Vinterrupt_process_functions): New defvar.
* test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
test removal of advice.
src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
(ns_run_loop_break) [HAVE_PTHREAD]: New function.
src/nsterm.m (ns_select): Call thread_select from within ns_select.
(ns_run_loop_break) [HAVE_PTHREAD]: New function.
(ns_send_appdefined): Don't wait for main thread when sending app
defined event.
src/process.c (wait_reading_process_output): Call thread_select from
within ns_select.
src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
its event loop using ns_run_loop_break.
Problem noted by Philipp Stephani in:
http://lists.gnu.org/archive/html/emacs-devel/2017-05/msg00391.html
* src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
New macros.
* src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
(connect_network_socket, network_interface_info)
(server_accept_connection): Use it when aliasing non-char objects.
* src/process.c (connect_network_socket): Use verify,
not eassert, so that any problems are caught at compile-time.
Avoid dodgy cast by using a local var of the correct type.
* src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
Remove redundant type-casting and variables. Don't call
'getsockname' to find the port for AF_LOCAL sockets.
[AF_INET6]: Add an assertion to verify that the ports in the IPv4
and IPv6 structures are at the same offset and have the same size.
The old code that sets and clears immediate_quit was
ineffective except when Emacs is running in terminal mode, and
has problematic race conditions anyway, so remove it. This
will introduce some hangs when Emacs runs in terminal mode,
and these hangs should be fixed in followup patches.
* src/keyboard.c (immediate_quit): Remove. All uses removed.
There’s no longer need to have QUIT stand for a slug of C statements.
Use the more-obvious function-call syntax instead.
Also, use true and false when setting immediate_quit.
These changes should not affect the generated machine code.
* src/lisp.h (QUIT): Remove. All uses replaced by maybe_quit.