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

Bug#830584: Hurd termios.h: TABDLY does not include TAB3, so "stty tab0" does not undo "stty tab3"



Package: libc0.3-dev
Version: 2.23-1
Severity: minor
File: /usr/include/i386-gnu/bits/termios.h
User: debian-hurd@lists.debian.org
Usertags: hurd

/usr/include/i386-gnu/bits/termios.h defines:

# define TABDLY	(3 << 10)	/* TAB delay.  */
# define TAB0	(0 << 10)	/* TAB delay type 0.  */
# define TAB1	(1 << 10)	/* TAB delay type 1.  */
# define TAB2	(2 << 10)	/* TAB delay type 2.  */
# define TAB3	(1 << 2)	/* Expand tabs to spaces.  */
# define OXTABS	TAB3		/* Expand tabs to spaces.  */

The TABDLY mask does not include the TAB3 bit.
Because of this, "stty tab3" sets the bit, but "stty tab0" does
not clear it:

kalle@luuska:~$ stty sane
kalle@luuska:~$ stty -a
speed 38400 baud; rows 36; columns 149;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; status = <undef>; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -tostop -echoprt echoctl echoke -flusho -extproc
kalle@luuska:~$ stty -g
2302:3:4b00:5cf:4:ff:ff:7f:17:15:12:ff:3:1c:1a:19:11:13:16:f:1:0:ff:ff
kalle@luuska:~$ stty tab3
kalle@luuska:~$ stty -a
speed 38400 baud; rows 36; columns 149;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; status = <undef>; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -tostop -echoprt echoctl echoke -flusho -extproc
kalle@luuska:~$ stty -g
2302:7:4b00:5cf:4:ff:ff:7f:17:15:12:ff:3:1c:1a:19:11:13:16:f:1:0:ff:ff
kalle@luuska:~$ stty tab0
kalle@luuska:~$ stty -a
speed 38400 baud; rows 36; columns 149;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; dsusp = ^Y; rprnt = ^R;
werase = ^W; lnext = ^V; discard = ^O; status = <undef>; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany imaxbel
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -tostop -echoprt echoctl echoke -flusho -extproc
kalle@luuska:~$ stty -g
2302:7:4b00:5cf:4:ff:ff:7f:17:15:12:ff:3:1c:1a:19:11:13:16:f:1:0:ff:ff
kalle@luuska:~$ 

On Debian GNU/Linux, "stty tab0" undoes "stty tab3", and that's
what it should do on Debian GNU/Hurd too.

-- System Information:
Debian Release: stretch/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unreleased'), (500, 'unstable')
Architecture: hurd-i386 (i686-AT386)

Kernel: GNU-Mach 1.7+git20160607-486-dbg/Hurd-0.8
Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages libc0.3-dev:hurd-i386 depends on:
ii  gnumach-dev                  2:1.7+git20160607-1
ii  hurd-dev [hurd-headers-dev]  1:0.8.git20160522-4.kon.1
ii  libc-dev-bin                 2.23-1
ii  libc0.3                      2.23-1

libc0.3-dev:hurd-i386 recommends no packages.

Versions of packages libc0.3-dev:hurd-i386 suggests:
pn  glibc-doc     <none>
ii  manpages-dev  4.06-1

Versions of other packages related to the bug report:
ii  coreutils  8.25-2
ii  hurd       1:0.8.git20160522-4.kon.1

My hurd package is the same as 1:0.8.git20160522-4 except I
patched trans/streamio.c and libpipe/pipe.c not to block on
zero-size reads; upstream bugs 48371 and 48372 respectively.
Those patches do not affect termios.

-- no debconf information

Attachment: pgpueIFILDHct.pgp
Description: PGP signature


Reply to: