diff options
author | Pádraig Brady <P@draigBrady.com> | 2015-01-23 00:43:58 +0000 |
---|---|---|
committer | Pádraig Brady <P@draigBrady.com> | 2015-01-24 01:06:59 +0000 |
commit | 81e5b59d8cedd1afb185ec5147ab25ed509ff80c (patch) | |
tree | 89f187b7e12cac32da4511c635a522edde7f9104 /src | |
parent | ed38d9d1cea592324de8133890789a3195d1b14d (diff) | |
download | coreutils-81e5b59d8cedd1afb185ec5147ab25ed509ff80c.tar.xz |
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.
Diffstat (limited to 'src')
-rw-r--r-- | src/stty.c | 19 |
1 files changed, 18 insertions, 1 deletions
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")) |