]> git.eshelyaron.com Git - emacs.git/commitdiff
(send_process_object): Check the process status and
authorKenichi Handa <handa@m17n.org>
Thu, 1 Mar 2007 10:18:25 +0000 (10:18 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 1 Mar 2007 10:18:25 +0000 (10:18 +0000)
signal an error if something is wrong.

src/ChangeLog
src/process.c

index b2b2bf22360d7feba717cb04c49744905a8accca..afb6ce8b7b3ce89b5a540581b0bbdef04d89d095 100644 (file)
@@ -1,3 +1,8 @@
+2007-03-01  Kenichi Handa  <handa@m17n.org>
+
+       * process.c (send_process_object): Check the process status and
+       signal an error if something is wrong.
+
 2007-02-28  Chong Yidong  <cyd@stupidchicken.com>
 
        * insdel.c (Fcombine_after_change_execute): Return nil if
index 7f651e367007edfad36b363fd6c25ddae755dc71..78fc400e5a27d3ebbfd8464cbd2f589dae748578 100644 (file)
@@ -5694,8 +5694,16 @@ send_process_object (proc, start, end)
       : ! NILP (XBUFFER (object)->enable_multibyte_characters))
     {
       struct Lisp_Process *p = XPROCESS (proc);
-      struct coding_system *coding = proc_encode_coding_system[XINT (p->outfd)];
+      struct coding_system *coding;
 
+      if (p->raw_status_new)
+       update_status (p);
+      if (! EQ (p->status, Qrun))
+       error ("Process %s not running", SDATA (p->name));
+      if (XINT (p->outfd) < 0)
+       error ("Output file descriptor of %s is closed", SDATA (p->name));
+
+      coding = proc_encode_coding_system[XINT (p->outfd)];
       if (! EQ (coding->symbol, p->encode_coding_system))
        /* The coding system for encoding was changed to raw-text
           because we sent a unibyte text previously.  Now we are