diff --git a/src/ChangeLog b/src/ChangeLog index b5da1be5c7d25a94fd2f2a0e8392f38e835c15ff..40a0ed24e6a63478ae5f0af12f7304912da39f94 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-08-14 Kenichi Handa + + * process.c (create_process): Call setup_process_coding_systems + after the pid of the process is set to -1. + 2011-08-14 Eli Zaretskii * xdisp.c (move_it_in_display_line_to): Don't invoke diff --git a/src/process.c b/src/process.c index 9d20d0c2b091a8870a93991931f8cf577728d5fd..71a6f91a7bbeaf9716e1bd98a4d4c38adee14c00 100644 --- a/src/process.c +++ b/src/process.c @@ -1643,7 +1643,6 @@ create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir) XPROCESS (process)->pty_flag = pty_flag; XPROCESS (process)->status = Qrun; - setup_process_coding_systems (process); /* Delay interrupts until we have a chance to store the new fork's pid in its process structure */ @@ -1678,6 +1677,10 @@ create_process (Lisp_Object process, char **new_argv, Lisp_Object current_dir) processes to get their return values scrambled. */ XPROCESS (process)->pid = -1; + /* This must be called after the above line because it may signal an + error. */ + setup_process_coding_systems (process); + BLOCK_INPUT; {