summaryrefslogtreecommitdiffstats
path: root/bin/stty
diff options
context:
space:
mode:
authored <ed@FreeBSD.org>2008-08-23 13:28:55 +0000
committered <ed@FreeBSD.org>2008-08-23 13:28:55 +0000
commit31729dd5739bedb99a14d1278fa6ab9b68f3746b (patch)
tree933f4d4d4547a7c5299ff6d829d5af0c2d246d78 /bin/stty
parentca3f42bc92c8b47bd2a43dffa6b7c4ce20e01407 (diff)
downloadFreeBSD-src-31729dd5739bedb99a14d1278fa6ab9b68f3746b.zip
FreeBSD-src-31729dd5739bedb99a14d1278fa6ab9b68f3746b.tar.gz
Make stty(1) use tab0 and tab3 to handle tab completion.
After the MPSAFE TTY import, we have support for the TAB0 and TAB3 flags to handle tab expansion, while we only used to support OXTABS. Switch stty(1) to use tab0 and tab3 to print whether tab expansion is turned on or off. Implement the oxtabs and tabs switches by setting the appropriate TABx value. Even though POSIX only lists this as being XSI, we'd better follow it.
Diffstat (limited to 'bin/stty')
-rw-r--r--bin/stty/modes.c10
-rw-r--r--bin/stty/print.c9
-rw-r--r--bin/stty/stty.112
3 files changed, 23 insertions, 8 deletions
diff --git a/bin/stty/modes.c b/bin/stty/modes.c
index e72e2df..cc18d2c 100644
--- a/bin/stty/modes.c
+++ b/bin/stty/modes.c
@@ -191,10 +191,12 @@ struct modes omodes[] = {
{ "-onlcr", 0, ONLCR },
{ "ocrnl", OCRNL, 0 },
{ "-ocrnl", 0, OCRNL },
- { "tabs", 0, OXTABS }, /* "preserve" tabs */
- { "-tabs", OXTABS, 0 },
- { "oxtabs", OXTABS, 0 },
- { "-oxtabs", 0, OXTABS },
+ { "tabs", TAB0, TABDLY }, /* "preserve" tabs */
+ { "-tabs", TAB3, TABDLY },
+ { "oxtabs", TAB3, TABDLY },
+ { "-oxtabs", TAB0, TABDLY },
+ { "tab0", TAB0, TABDLY },
+ { "tab3", TAB3, TABDLY },
{ "onocr", ONOCR, 0 },
{ "-onocr", 0, ONOCR },
{ "onlret", ONLRET, 0 },
diff --git a/bin/stty/print.c b/bin/stty/print.c
index 30fcbaa..63b30b3 100644
--- a/bin/stty/print.c
+++ b/bin/stty/print.c
@@ -136,7 +136,14 @@ print(struct termios *tp, struct winsize *wp, int ldisc, enum FMT fmt)
put("-opost", OPOST, 1);
put("-onlcr", ONLCR, 1);
put("-ocrnl", OCRNL, 0);
- put("-oxtabs", OXTABS, 1);
+ switch(tmp&TABDLY) {
+ case TAB0:
+ bput("tab0");
+ break;
+ case TAB3:
+ bput("tab3");
+ break;
+ }
put("-onocr", ONOCR, 0);
put("-onlret", ONLRET, 0);
diff --git a/bin/stty/stty.1 b/bin/stty/stty.1
index f1f0107..6cecfd6 100644
--- a/bin/stty/stty.1
+++ b/bin/stty/stty.1
@@ -32,7 +32,7 @@
.\" @(#)stty.1 8.4 (Berkeley) 4/18/94
.\" $FreeBSD$
.\"
-.Dd April 18, 1994
+.Dd August 23, 2008
.Dt STTY 1
.Os
.Sh NAME
@@ -244,8 +244,12 @@ Map (do not map)
to
.Dv NL
on output.
-.It Cm oxtabs Pq Fl oxtabs
-Expand (do not expand) tabs to spaces on output.
+.It Cm tab0 tab3
+Select tab expansion policy.
+.Cm tab0
+disables tab expansion, while
+.Cm tab3
+enables it.
.It Cm onocr Pq Fl onocr
Do not (do) output CRs at column zero.
.It Cm onlret Pq Fl onlret
@@ -570,6 +574,8 @@ Same as
.It Cm litout Pq Fl litout
The converse of
.Cm opost .
+.It Cm oxtabs Pq Fl oxtabs
+Expand (do not expand) tabs to spaces on output.
.It Cm tabs Pq Fl tabs
The converse of
.Cm oxtabs .
OpenPOWER on IntegriCloud