diff options
-rw-r--r-- | term/ChangeLog | 3 | ||||
-rw-r--r-- | term/munge.c | 10 |
2 files changed, 8 insertions, 5 deletions
diff --git a/term/ChangeLog b/term/ChangeLog index 0f43ab21..a5c8aef3 100644 --- a/term/ChangeLog +++ b/term/ChangeLog @@ -1,5 +1,8 @@ 2002-09-10 Marcus Brinkmann <marcus@gnu.org> + * munge.c (input_character): Really toggle USER_OUTPUT_SUSP if + VSTART == VSTOP. + * hurdio.c (hurdio_writer_loop): Desert the DTR on all errors, not only EIO. (hurdio_reader_loop): Likewise. diff --git a/term/munge.c b/term/munge.c index 32d87c98..74d82888 100644 --- a/term/munge.c +++ b/term/munge.c @@ -452,13 +452,13 @@ input_character (int c) { if (CCEQ (cc[VSTOP], c)) { - termflags |= USER_OUTPUT_SUSP; - (*bottom->suspend_physical_output) (); - - if (!(CCEQ(cc[VSTART], c))) /* toggle if VSTART == VSTOP */ - /* Alldone code always turns off USER_OUTPUT_SUSP. */ + if (CCEQ(cc[VSTART], c) && (termflags & USER_OUTPUT_SUSP)) + /* Toggle if VSTART == VSTOP. Alldone code always turns + off USER_OUTPUT_SUSP. */ goto alldone; + termflags |= USER_OUTPUT_SUSP; + (*bottom->suspend_physical_output) (); return flush; } if (CCEQ (cc[VSTART], c)) |