coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] stty: document the 'discard' character setting


From: Pádraig Brady
Subject: [PATCH] stty: document the 'discard' character setting
Date: Fri, 23 Jan 2015 01:09:56 +0000

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.
---
 doc/coreutils.texi |  5 +++++
 src/stty.c         | 19 ++++++++++++++++++-
 2 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index f840940..078bca3 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 bac2839..37a6b27 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},
@@ -568,6 +569,11 @@ Special characters:\n"), stdout);
  * lnext CHAR    CHAR will enter the next character quoted\n\
 "), stdout);
 #endif
+#ifdef VFLUSHO
+      fputs (_("\
+ * discard CHAR  CHAR will toggle discarding of output\n\
+"), stdout);
+#endif
       fputs (_("\
    quit CHAR     CHAR will send a quit signal\n\
 "), stdout);
@@ -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"))
-- 
2.1.0




reply via email to

[Prev in Thread] Current Thread [Next in Thread]