From 81e5b59d8cedd1afb185ec5147ab25ed509ff80c Mon Sep 17 00:00:00 2001 From: Pádraig Brady
Date: Fri, 23 Jan 2015 00:43:58 +0000 Subject: stty: document the 'discard' character setting The equivalent of this is 'flush', but that was never documented as an option (though was output with stty -a). Therefore use the more descriptive name, also generally used on BSD systems. Note even though this setting seems ineffective on Linux, supporting the setting is useful to allow terminal programs to receive the default ^O character code. * doc/coreutils.texi (stty invocation): Document the 'discard' option. * src/stty.c (struct control_info): Add 'discard'; same as 'flush'. (display_all): Show 'discard' rather than 'flush' char. (display_changed): Likewise. (usage): Document the 'discard' option. --- src/stty.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/stty.c b/src/stty.c index bac2839cc..f3fb714b3 100644 --- a/src/stty.c +++ b/src/stty.c @@ -417,7 +417,8 @@ static struct control_info const control_info[] = {"lnext", CLNEXT, VLNEXT}, #endif #ifdef VFLUSHO - {"flush", CFLUSHO, VFLUSHO}, + {"flush", CFLUSHO, VFLUSHO}, /* deprecated compat option. */ + {"discard", CFLUSHO, VFLUSHO}, #endif #ifdef VSTATUS {"status", CSTATUS, VSTATUS}, @@ -544,6 +545,11 @@ settings. The underlying system defines which settings are available.\n\ fputs (_("\ \n\ Special characters:\n"), stdout); +#ifdef VFLUSHO + fputs (_("\ + * discard CHAR CHAR will toggle discarding of output\n\ +"), stdout); +#endif #ifdef VDSUSP fputs (_("\ * dsusp CHAR CHAR will send a terminal stop signal once input flushed\n\ @@ -1697,6 +1703,12 @@ display_changed (struct termios *mode) { if (mode->c_cc[control_info[i].offset] == control_info[i].saneval) continue; + +#ifdef VFLUSHO + /* 'flush' is the deprecated equivalent of 'discard'. */ + if (STREQ (control_info[i].name, "flush")) + continue; +#endif /* If swtch is the same as susp, don't print both. */ #if VSWTCH == VSUSP if (STREQ (control_info[i].name, "swtch")) @@ -1787,6 +1799,11 @@ display_all (struct termios *mode, char const *device_name) for (i = 0; ! STREQ (control_info[i].name, "min"); ++i) { +#ifdef VFLUSHO + /* 'flush' is the deprecated equivalent of 'discard'. */ + if (STREQ (control_info[i].name, "flush")) + continue; +#endif /* If swtch is the same as susp, don't print both. */ #if VSWTCH == VSUSP if (STREQ (control_info[i].name, "swtch")) -- cgit v1.2.3-70-g09d2