From: Pádraig Brady Date: Fri, 23 Jan 2015 00:43:58 +0000 (+0000) Subject: stty: document the 'discard' character setting X-Git-Tag: v8.24~142 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=81e5b59d8cedd1afb185ec5147ab25ed509ff80c;p=thirdparty%2Fcoreutils.git 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. --- diff --git a/doc/coreutils.texi b/doc/coreutils.texi index f840940394..078bca3404 100644 --- a/doc/coreutils.texi +++ b/doc/coreutils.texi @@ -14438,6 +14438,11 @@ End the line. @opindex eol2 Alternate character to end the line. Non-POSIX. +@item discard +@opindex discard +@opindex flush +Alternate character to toggle discarding of output. Non-POSIX. + @item swtch @opindex swtch Switch to a different shell layer. Non-POSIX. diff --git a/src/stty.c b/src/stty.c index bac2839cc4..f3fb714b3e 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"))