Lars Ingebrigtsen [Mon, 22 Feb 2016 02:14:35 +0000 (13:14 +1100)]
Mention in the doc strings that process functions may block
(Fprocess_contact, Fprocess_datagram_address)
(Fset_process_datagram_address, Fset_network_process_option)
(Fprocess_send_region, Fprocess_send_string): Mention that the
functions may block.
(Fset_process_coding_system): Ditto.
Lars Ingebrigtsen [Mon, 22 Feb 2016 01:50:40 +0000 (12:50 +1100)]
Rework the image property getter/setters
* doc/lispref/display.texi (Defining Images): Document the
renamed `image-get/set-property' functions.
* lisp/image.el (image--set-property): Rename from
image-set-property.
(image-property): Declare a setf form.
(image-property): Rename from `image-get-property'.
Alain Schneble [Sun, 21 Feb 2016 02:36:25 +0000 (13:36 +1100)]
Respect DNS timeouts
* src/process.c (check_for_dns): If the async DNS request
failed and the associated process is still in "connect" state,
deactivate the process and set status to "failed".
Lars Ingebrigtsen [Sat, 20 Feb 2016 07:01:52 +0000 (18:01 +1100)]
Use placeholder images in shr to avoid text moving around
* lisp/net/shr.el (shr-rescale-image): Pass in width/height
from the HTML.
(shr-tag-img): Ditto.
(shr-string-number): New function.
(shr-make-placeholder-image): Make placeholder images.
(shr-tag-img): Insert them if we have SVG support.
Alan Mackenzie [Fri, 19 Feb 2016 17:10:57 +0000 (17:10 +0000)]
Await the final mouse event in C-h c and C-h k.
* lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
event, keep reading further events until a timeout occurs, to ensure we have
the complete mouse event from the user.
Lars Ingebrigtsen [Tue, 16 Feb 2016 04:56:56 +0000 (15:56 +1100)]
Implement asynch TLS negotiation
* src/gnutls.c (gnutls_try_handshake): Factor out into its own
function.
(emacs_gnutls_handshake): Use it.
(emacs_gnutls_read): Just return instead of retrying the handshake.
* src/process.c (finish_after_tls_connection): Factor out
into its own function.
(connect_network_socket): Use it.
(wait_reading_process_output): Retry TLS handshakes.
(wait_reading_process_output): Defer sentinel until TLS completes.
Alain Schneble [Tue, 16 Feb 2016 02:50:23 +0000 (13:50 +1100)]
Loop over the process list instead of maintaining a separate list
* src/process.c: Remove declaration/definition of dns_processes list.
* src/process.c (wait_reading_process_output): Loop over all processes in
Vprocess_alist instead of dns_processes, to check for completed DNS
requests.
Lars Ingebrigtsen [Tue, 16 Feb 2016 02:37:33 +0000 (13:37 +1100)]
Allow setting the filter masks later
* src/process.c (Fset_process_filter): Don't set the socket
masks here, because we may not have a socket yet.
(set_process_filter_masks): New function.
(connect_network_socket): Set the filter masks here.
Lars Ingebrigtsen [Tue, 16 Feb 2016 02:23:15 +0000 (13:23 +1100)]
Ensure we always free DNS resources when deleting a process
* src/process.c (free_dns_request): Factor out into own function.
(Fdelete_process): When deleting a process, free any DNS
structures associated with it.
(check_for_dns): Always free all DNS resources.
Alain Schneble [Tue, 16 Feb 2016 02:13:06 +0000 (13:13 +1100)]
Don't block in set-process-window-size
* src/process.c (set-process-window-size): Explicitly return Qnil when
called with network processes as set_window_size won't work anyway on
socket fds. As a welcome side effect, this makes the blocking
wait_for_socket_fds call obsolete.
Lars Ingebrigtsen [Tue, 16 Feb 2016 02:01:05 +0000 (13:01 +1100)]
Do most of the coding system setup earlier
* src/process.c (Fmake_network_process): Set the read/write
coding systems here, so that special bindings work.
(Fmake_network_process): Complete the coding system setup here.
John Wiegley [Mon, 15 Feb 2016 22:11:03 +0000 (14:11 -0800)]
Merge from origin/emacs-25
d4b93e1 Minor fixes in global-auto-composition-mode 02b037b Allow arithmetic operators inside C++ template constructs. 44b16f6 Avoid crashes in semi-malformed 'condition-case' 652e5b4 Allow arithmetic operators inside C++ template constructs. d9ea795 Fix regression with 'recent-keys' and keyboard macros 903603f Fix wording in a doc-view.el comment cf79616 ; Spelling fixes f8bf1b3 CONTRIBUTE cleanups and updates f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang 1834ac7 Port to x86 GCC 4.3.1 and earlier 8482949 Fix point movement under 'scroll-conservatively' c1313b5 Replace colon in file name (not legal on Windows) f7af26c Fix a typo in edt.texi 8badf95 Make 'mmap_realloc' on MS-Windows more reliable 856cd94 Grep alias `all' shall not match parent directory
John Wiegley [Mon, 15 Feb 2016 22:10:25 +0000 (14:10 -0800)]
Merge from origin/emacs-25
dacde7e * etc/AUTHORS: Update the AUTHORS file 478ca5d ; fix changelog entries 2b7d006 ; make change-history-commit 851decb * lisp/dired-aux.el: Require cl-lib. (Bug#22613) 47896c8 ; Improve commentary in insdel.c 53ca1e1 Index tilde characters in names of backup files d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings b55f06d ; * etc/NEWS: Use double spaces to end a sentence. 28bb214 Announce that the `C-x w' bindings are deprecated 1c98f98 Suppress GNUstep hardening d82f24b Fix redisplay after a large insertion 85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
closed server" e8e3db0 ; Improve merge documentation in CONTRIBUTE 5be9989 * lib-src/make-docfile.c: Include stdarg.h. c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
limitations.
John Wiegley [Mon, 15 Feb 2016 22:09:12 +0000 (14:09 -0800)]
Merge from origin/emacs-25
f5d6b9b Revert "Support integer image rotation and respect EXIF rotations" afe7d1f Revert "Document EXIF image rotation" c6f377c Document OS X LANG default eb4a18c Set locale when run from OS X GUI 456c0a3 make-docfile cleanup for I/O, etc. 25ec995 Memory-management cleanup in make-docfile 02d925e Kevin Gallagher has new email address 4ef153b Improve doc strings of 'forward/backward-word-strictly' 3ad05a0 Describe Makefile test targets in test/README
Eli Zaretskii [Mon, 15 Feb 2016 19:46:17 +0000 (21:46 +0200)]
Minor fixes in global-auto-composition-mode
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-pretty-mode-name):
Produce prettier names of globalized minor modes.
* lisp/composite.el (global-auto-composition-mode): Make it a
globalized mode. (Bug#22682)
Alan Mackenzie [Mon, 15 Feb 2016 12:45:42 +0000 (12:45 +0000)]
Allow arithmetic operators inside C++ template constructs.
Fixes debbugs #22486. This corrects the previous patch with this message
which was empty.
* lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): New language
variable.
(c-<>-notable-chars-re): New language variable.
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): User
c-<>-notable-chars-re in place of the former fixed string in searching for
places to stop and examine.
Use c-multichar->-op-not->>-regexp to check that a found ">" is not part of a
multichar operator in place of the former c->-op-without->-cont-regexp.
Add code to skip forwards over a balanced parenthesized expression.
Alan Mackenzie [Mon, 15 Feb 2016 12:45:42 +0000 (12:45 +0000)]
Allow arithmetic operators inside C++ template constructs.
Fixes debbugs #22486.
* lisp/progmodes/cc-langs.el (c-multichar->-op-not->>-regexp): New language
variable.
(c-<>-notable-chars-re): New language variable.
* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): User
c-<>-notable-chars-re in place of the former fixed string in searching for
places to stop and examine.
Use c-multichar->-op-not->>-regexp to check that a found ">" is not part of a
multichar operator in place of the former c->-op-without->-cont-regexp.
Add code to skip forwards over a balanced parenthesized expression.
Lars Ingebrigtsen [Mon, 15 Feb 2016 07:24:08 +0000 (18:24 +1100)]
Call the network security manager after doing TLS negotiation
* lisp/net/network-stream.el (network-stream-open-tls):
Postpone NSM verification when running async.
* src/process.c (Fset_process_filter): This function doesn't
need to wait.
(connect_network_socket): Set the process status to "run" only
after TLS negotiation.
(wait_for_socket_fds): Take a name parameter for more debugging.
(wait_reading_process_output): Don't change status to "run"
unless TLS negotiation has finished.
(send_process): Wait for the process here instead of
send_process_string.
(connect_network_socket): Call the network security manager.
Alain Schneble [Mon, 15 Feb 2016 04:44:29 +0000 (15:44 +1100)]
Add blockers to process functions
* src/process.c (set-process-filter, set-process-window-size,
process-contact, process-datagram-address, set-process-datagram-address,
set-network-process-option): Make functions wait (block) on network
process until pending DNS requests have been processed and associated
socket initialized.
* src/process.c (process-send-region, process-send-string,
process-send-eof): Make functions wait (block) while network process is
in connect state.
Paul Eggert [Mon, 15 Feb 2016 03:24:38 +0000 (19:24 -0800)]
CONTRIBUTE cleanups and updates
* CONTRIBUTE: Mention URLs and info nodes more consistently,
avoiding possibly-confusing punctuation adjacent to a URL, and
giving full shell commands for 'info'. Start with a brief but
complete how-to, for people who want to get started right away.
Then briefly discuss how to join the development process in the
typical order. Omit needless words. Update some of the
now-obsolete file names, info node names, and quoting styles.
Better document emacs-NN branches and how they are merged.
* admin/notes/git-workflow: Change emacs-24 to emacs-25,
and trunk to master. This file still needs work.
Paul Eggert [Sun, 14 Feb 2016 19:19:39 +0000 (11:19 -0800)]
Port to x86 GCC 4.3.1 and earlier
This tries to port to x86 FreeBSD 9, where Emacs dumps core (Bug#22065).
* src/lisp.h (USE_STACK_LISP_OBJECTS): Default to false
for GCC 4.3.1 and earlier.
Eli Zaretskii [Sun, 14 Feb 2016 17:46:29 +0000 (19:46 +0200)]
Make 'mmap_realloc' on MS-Windows more reliable
* src/w32heap.c (mmap_alloc): If reserving memory succeeds, but
committing fails, return NULL. Don't call GetLastError twice for
the same API error.
(mmap_realloc): Zero out MEMORY_BASIC_INFORMATION structures
before calling VirtualQuery, to avoid using garbled values if the
call fails. If committing more pages from the same block fails,
fall back on mmap_alloc + CopyMemory. Enhance debugging printouts
if the call to VirtualAlloc to commit more pages fails.
(Bug#22526)
* lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
Always use `mail-extract-address-components', since this isn't
time critical.
(mml-smime-get-dns-cert): Ditto.