diff options
| author | Kenichi Handa | 2007-03-01 10:18:25 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2007-03-01 10:18:25 +0000 |
| commit | faa6ce91bf537fbb13931e2dd54c11dc06038d65 (patch) | |
| tree | 1c7c839b2e5b417a4927ba46b01b85ef7791ce12 /src/process.c | |
| parent | e4ddce5a20cd431661e24df5afa9f0003b91c3d7 (diff) | |
| download | emacs-faa6ce91bf537fbb13931e2dd54c11dc06038d65.tar.gz emacs-faa6ce91bf537fbb13931e2dd54c11dc06038d65.zip | |
(send_process_object): Check the process status and
signal an error if something is wrong.
Diffstat (limited to 'src/process.c')
| -rw-r--r-- | src/process.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/process.c b/src/process.c index 7f651e36700..78fc400e5a2 100644 --- a/src/process.c +++ b/src/process.c | |||
| @@ -5694,8 +5694,16 @@ send_process_object (proc, start, end) | |||
| 5694 | : ! NILP (XBUFFER (object)->enable_multibyte_characters)) | 5694 | : ! NILP (XBUFFER (object)->enable_multibyte_characters)) |
| 5695 | { | 5695 | { |
| 5696 | struct Lisp_Process *p = XPROCESS (proc); | 5696 | struct Lisp_Process *p = XPROCESS (proc); |
| 5697 | struct coding_system *coding = proc_encode_coding_system[XINT (p->outfd)]; | 5697 | struct coding_system *coding; |
| 5698 | 5698 | ||
| 5699 | if (p->raw_status_new) | ||
| 5700 | update_status (p); | ||
| 5701 | if (! EQ (p->status, Qrun)) | ||
| 5702 | error ("Process %s not running", SDATA (p->name)); | ||
| 5703 | if (XINT (p->outfd) < 0) | ||
| 5704 | error ("Output file descriptor of %s is closed", SDATA (p->name)); | ||
| 5705 | |||
| 5706 | coding = proc_encode_coding_system[XINT (p->outfd)]; | ||
| 5699 | if (! EQ (coding->symbol, p->encode_coding_system)) | 5707 | if (! EQ (coding->symbol, p->encode_coding_system)) |
| 5700 | /* The coding system for encoding was changed to raw-text | 5708 | /* The coding system for encoding was changed to raw-text |
| 5701 | because we sent a unibyte text previously. Now we are | 5709 | because we sent a unibyte text previously. Now we are |