diff options
| author | Noam Postavsky <npostavs@gmail.com> | 2019-04-08 17:57:22 -0400 |
|---|---|---|
| committer | Noam Postavsky <npostavs@gmail.com> | 2019-04-14 22:43:38 -0400 |
| commit | 9800df69cb7003bda1f2b98d6f11e89ba95afb9b (patch) | |
| tree | 8de5b8b10e6a0743b7f227bef6bf87ffdb98ed4a /lisp/help.el | |
| parent | fc0f469fb5b5eb28ca4d9948190be6cb1bd8156e (diff) | |
| download | emacs-9800df69cb7003bda1f2b98d6f11e89ba95afb9b.tar.gz | |
Let debugger handle process spawn errors on w32 (Bug#33016)
Since child_setup() is called between block_input()...unblock_input(),
when an error is signaled the Lisp debugger is prevented from
starting. Therefore, let the callers signal the error instead (which
they already do for non-w32 platforms, just the error message needs an
update).
* src/callproc.c (child_setup) [WINDOWSNT]: Don't call
report_file_error here.
(call_process) [WINDOWNT]:
* src/process.c (create_process) [WINDOWSNT]: Call report_file_errno
here instead, after the unblock_input() call, same as for !WINDOWSNT.
* src/lisp.h (CHILD_SETUP_ERROR_DESC): New preprocessor define. Flip
the containing ifndef DOS_NT branches so that it's ifdef DOS_NT.
* src/eval.c (when_entered_debugger): Remove.
(syms_of_eval) <internal-when-entered-debugger>: Define it as a Lisp
integer variable instead.
(maybe_call_debugger): Update comment.
* test/src/process-tests.el (make-process-w32-debug-spawn-error):
* test/src/callproc-tests.el (call-process-w32-debug-spawn-error): New
tests.
Diffstat (limited to 'lisp/help.el')
0 files changed, 0 insertions, 0 deletions
