summaryrefslogtreecommitdiff
path: root/term
diff options
context:
space:
mode:
authorMarcus Brinkmann <marcus@gnu.org>2002-09-10 18:00:34 +0000
committerMarcus Brinkmann <marcus@gnu.org>2002-09-10 18:00:34 +0000
commit26482336f2919d72935a8aacc42420aa89138cbd (patch)
tree3a45513574e18b5920fc7250e95840b0f9bd9d2d /term
parentf7aba072f48ed17386ae9369551a49aca4cf73aa (diff)
2002-09-10 Marcus Brinkmann <marcus@gnu.org>
* munge.c (input_character): Really toggle USER_OUTPUT_SUSP if VSTART == VSTOP.
Diffstat (limited to 'term')
-rw-r--r--term/ChangeLog3
-rw-r--r--term/munge.c10
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))