]> git.eshelyaron.com Git - emacs.git/commitdiff
Avoid crash with invalid default-process-coding-system.
authorKenichi Handa <handa@m17n.org>
Sun, 14 Aug 2011 17:51:08 +0000 (13:51 -0400)
committerChong Yidong <cyd@stupidchicken.com>
Sun, 14 Aug 2011 17:51:08 +0000 (13:51 -0400)
* src/process.c (create_process): Call setup_process_coding_systems
after the pid of the process is set to -1.

src/ChangeLog
src/process.c

index b5da1be5c7d25a94fd2f2a0e8392f38e835c15ff..40a0ed24e6a63478ae5f0af12f7304912da39f94 100644 (file)
@@ -1,3 +1,8 @@
+2011-08-14  Kenichi Handa  <handa@m17n.org>
+
+       * process.c (create_process): Call setup_process_coding_systems
+       after the pid of the process is set to -1.
+
 2011-08-14  Eli Zaretskii  <eliz@gnu.org>
 
        * xdisp.c (move_it_in_display_line_to): Don't invoke
index 9d20d0c2b091a8870a93991931f8cf577728d5fd..71a6f91a7bbeaf9716e1bd98a4d4c38adee14c00 100644 (file)
@@ -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;
 
   {