This problem was introduced by the recent async changes (Bug#23808).
* src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
so that it follows the start_process_unwind unwind-protect.
Set pid to -1 while the process is being created.
(start_process_unwind): Omit unnecessary emacs_abort test.
(connect_network_socket): Simplify use of counts. Unwind
bind_polling_period a bit earlier, so that a remove_process
unwind-protect can be added when needed; this is the heart of
the fix. Undo the unwind-protect just before returning.
* src/xdisp.c (redisplay_window): Add better recovery from a
situation where window-start is on buffer position which has a
before-string that includes newlines, with the result that point
is not visible in the window, because the display engine starts
displaying with the before-string. (Bug#24179)
* lisp/net/tramp-compat.el
(tramp-compat-temporary-file-directory-function): New defalias.
* lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
* test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
Skip for older Emacs versions.
* doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
ses-range `!' modifier.
(More on cell printing): Fix this that the fallback printer is
`ses-prin1', not "%S". That makes a difference for any cell value for
which "%S" would insert a backslash characters.
* lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
--- contrary to emacs-25 branches ses-call-printer does not handle
prior to calling a function printer. Not doing this would still work
because the compiled function would throw and error and SES would in
the end resort to the ses-prin1 fallback, however this way would not
be in line with the raison d'être of compiling printer which is speed.
* lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
Use cl-pushnew instead of add-to-list.
(woman-justify-list): Rename to woman-justify-styles.
(woman-justify-styles): New array.
(woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
(woman-cached-data): Use cl-pushnew instead of add-to-list.
Here follows the logs from the two commits which I apply to master.
commit 3c97b0f758
Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
Date: Fri Jul 29 13:44:14 2016 +0200
Fix ses-delete-blanks to delete only blanks + documentation.
* doc/misc/ses.texi (Quick Tutorial): Mention the '!'
'ses-range' modifier as an alternative to 'ses+'.
(Advanced Features): Add a refernce to node 'Nonrelocatable
references' concerning function 'ses-rename-cell'.
(Standard formula functions): Mention the '!' 'ses-range'
modifier as an alternative to 'ses-delete-blanks'.
(More on cell printing): Fix fallback printer
definition. Minor editorial formatting changes.
(Nonrelocatable references): Document the use of
'ses-rename-cell' as a better way to make cell reference
non-relocatable.
(The data area): Document the presence of local printer
definitions in the data area.
* lisp/ses.el (ses-delete-blanks): Do not remove
*error*. Any error in an argument should propagate into the
using formula rather than being silently hidden !
commit 8a38e948b0
Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
Date: Thu Jul 28 19:49:37 2016 +0200
Fix local printer set to left aligned string formatter.
* lisp/ses.el (ses-local-printer-compile): Add missing case
for left-aligned string formatter.
Change the code which detects and circumvents the case where one of the
variables used in λ-lifting is shadowed, so that it also works when the
shadowing comes before the λ-lifted function (bug#24171).
(cconv--remap-llv): New function, extracted from cconv-convert.
(cconv-convert): Use it, but differently for `let' and `let*'.
Fixes bug #24094 and bug #24074.
This can happen with `revert-buffer' or sometimes `find-file', when the file
is already in a buffer, but the file has been changed outside of Emacs.
* lisp/progmodes/cc-mode (c-after-change): When we detect a missing
invocation of c-before-change-functions, we assume the changed region is the
entire buffer, and call c-before-change explicitly before proceding.
* src/bytecode.c (exec_byte_code): Simplify, mostly by moving
initializers into decls, and by omitting some unnecessary
changes to ‘top’. This improves performance a bit on x86-64,
as it happens.
This improves performance overall on my benchmark on x86-64,
since the interpreted program-counter resides in a machine
register rather than in RAM.
* etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
is no longer a byte stack to decode.
* src/bytecode.c (struct byte_stack, byte_stack_list)
(relocate_byte_stack): Remove. All uses removed.
(FETCH): Simplify now that pc is now local (typically, in a
register) and no longer needs to be relocated.
(CHECK_RANGE): Remove. All uses now done inline, in a different way.
(BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
(exec_byte_code): Allocate a copy of the function’s bytecode,
so that there is no problem if GC moves it.
* src/lisp.h (struct handler): Remove byte_stack member.
All uses removed.
(SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
SAFE_ALLOCA_LISP.
(SAFE_ALLOCA_LISP): Use it.
* src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
pipeline is fuller.
* src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too. Do the
check only once every 256 times. This should be good enough, and
improves performance significantly on x86-64 as branch-prediction
typically assumes checking will not be done so the instruction
pipeline stays fuller.
(exec_byte_code): Set up the quit counter. Don’t call maybe_gc
directly, as BYTE_CODE_QUIT does that now.
* src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
can be used outside #if. All uses of ‘defined BYTE_CODE_SAFE’
changed to ‘BYTE_CODE_SAFE’. Use BYTE_CODE_SAFE in plain
expressions instead of #if expressions when this is easy.
(struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
as it is no longer needed.
(exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
Simplify stack-overflow checking when BYTE_CODE_SAFE.
BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
noticed. Perhaps we should remove it?
* src/bytecode.c (METER_2) [BYTE_CODE_METER]:
Use *aref_addr instead of AREF, since it needs to be an lvalue.
* src/xdisp.c (try_scrolling): Handle the case where the last
visible screen line of a window displays a before- or after-string
that takes up the whole screen line, and therefore there's no
place to display the cursor, even though the window does seem to
include the position of point. (Bug#24179)
* src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
that debugger code that needs to do regexp match won't break
(Bug #23949, Bug #24166, Bug#16294).
This lets functions which rely on syntax-propertize for parsing
work correctly even before font lock has a chance to run.
* lisp/progmodes/sh-script.el (sh-set-shell): Set
parse-sexp-lookup-properties unconditionally (Bug #4920).
* lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
function to `set-transient-map', this prevents `delete-selection-mode'
from deleting the text that was just indented (Bug #20408).
* lisp/vc/emerge.el (emerge-metachars): Obsolete.
(emerge-protect-metachars): Delete.
(emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
`emerge-protect-metachars' with `shell-quote-argument' so that shell
quoting is done the same on all system types (Bug #6136). Also shell
quote `emerge-diff-program' and `emerge-diff3-program'.
* lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
the default for FILE is computed, especially when backup files
are involved. Support backup files in another directory.
Don't suggest the default FILE if it doesn't exist. (Bug#24089)
d841a03 ; Spelling fix
a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
d35d398 Update to the AUTHORS file for Bob Weiner
4d2f4df Revert "Fix local printer set to left aligned string formatter."
cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
f7ceb8e Revert "Fix English."
baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
aa4271a Fix doc string of 'minibuffer-message-timeout'
b275cc7 Fix English.
3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
272391f profiler: document prefix arg for tree expansion
442cc39 Clarify usage of eshell-visual-options
b443c3c Fix comment in files-in-below-directory
8a38e94 Fix local printer set to left aligned string formatter.
0f0b191 ; Fix typos in NEWS
6bdf687 ; * etc/NEWS: Remove temporary marks
The following commits were skipped:
ff3fc21 Port to glibc 2.24 (pre-release) + ppc64
eb9d461 * lisp/net/shr.el (shr-fill-line): Withdraw the last commit (...
4157159 * lisp/net/shr.el (shr-fill-line): Preserve text properties i...