Page MenuHomeFreeBSD

D42066.diff
No OneTemporary

D42066.diff

diff --git a/bin/stty/modes.c b/bin/stty/modes.c
--- a/bin/stty/modes.c
+++ b/bin/stty/modes.c
@@ -126,6 +126,8 @@
{ "-decctlq", IXANY, 0 },
{ "imaxbel", IMAXBEL, 0 },
{ "-imaxbel", 0, IMAXBEL },
+ { "iutf8", IUTF8, 0 },
+ { "-iutf8", 0, IUTF8 },
{ NULL, 0, 0 },
};
diff --git a/bin/stty/print.c b/bin/stty/print.c
--- a/bin/stty/print.c
+++ b/bin/stty/print.c
@@ -127,6 +127,7 @@
put("-inpck", INPCK, 0);
put("-ignpar", IGNPAR, 0);
put("-parmrk", PARMRK, 0);
+ put("-iutf8", IUTF8, 1);
/* output flags */
tmp = tp->c_oflag;
diff --git a/bin/stty/stty.1 b/bin/stty/stty.1
--- a/bin/stty/stty.1
+++ b/bin/stty/stty.1
@@ -224,6 +224,9 @@
.Cm imaxbel
is unset and the input queue is full, the next input character causes
the entire input and output queues to be discarded.
+.It Cm iutf8 Pq Fl iutf8
+Assume that input characters are UTF-8 encoded. Setting this flag
+causes backspace to properly delete multibyte characters in canonical mode.
.El
.Ss Output Modes:
This corresponds to the c_oflag of the termios structure.
diff --git a/share/man/man4/termios.4 b/share/man/man4/termios.4
--- a/share/man/man4/termios.4
+++ b/share/man/man4/termios.4
@@ -884,6 +884,8 @@
/* any char will restart after stop */
.It Dv IMAXBEL
/* ring bell on input queue full */
+.It Dv IUTF8
+/* assume input is UTF-8 encoded */
.El
.Pp
In the context of asynchronous serial data transmission, a break
diff --git a/sys/kern/tty.c b/sys/kern/tty.c
--- a/sys/kern/tty.c
+++ b/sys/kern/tty.c
@@ -85,8 +85,8 @@
/*
* Flags that are supported and stored by this implementation.
*/
-#define TTYSUP_IFLAG (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK|ISTRIP|\
- INLCR|IGNCR|ICRNL|IXON|IXOFF|IXANY|IMAXBEL)
+#define TTYSUP_IFLAG (IGNBRK|BRKINT|IGNPAR|PARMRK|INPCK|ISTRIP|INLCR|\
+ IGNCR|ICRNL|IXON|IXOFF|IXANY|IMAXBEL|IUTF8)
#define TTYSUP_OFLAG (OPOST|ONLCR|TAB3|ONOEOT|OCRNL|ONOCR|ONLRET)
#define TTYSUP_LFLAG (ECHOKE|ECHOE|ECHOK|ECHO|ECHONL|ECHOPRT|\
ECHOCTL|ISIG|ICANON|ALTWERASE|IEXTEN|TOSTOP|\
diff --git a/sys/sys/_termios.h b/sys/sys/_termios.h
--- a/sys/sys/_termios.h
+++ b/sys/sys/_termios.h
@@ -97,6 +97,7 @@
#endif
#if __BSD_VISIBLE
#define IMAXBEL 0x00002000 /* ring bell on input queue full */
+#define IUTF8 0x00004000 /* assume input is utf-8 encoded */
#endif
/*

File Metadata

Mime Type
text/plain
Expires
Wed, Feb 12, 10:32 PM (10 h, 49 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16618182
Default Alt Text
D42066.diff (2 KB)

Event Timeline