shige@foretune.co.jp (Shigeya Suzuki) (12/20/89)
Index: readline/readline.c bash1.04
Description:
On the terminal which needs both parity flags off,
(Ex. Japanese Kanji terminal using Kanji character set with 8th bit on)
bash incorrectly resets localmode *always*.
With SONY NEWS, by dropping LPASS8 flag, tty driver will not
allow to use Shift-JIS Kanji chatacter.
Repeat-By:
Use bash on the terminal which (sg_flags & (EVENP|ODDP)) == 0
tty will forget all local mode flags.
Fix:
Get and store local tty mode flag always. apply following patch.
*** readline.c.ORIG Wed Dec 20 02:43:14 1989
--- readline.c Wed Dec 20 03:33:48 1989
***************
*** 1994,1999 ****
--- 1994,2003 ----
/* If this terminal doesn't care how the 8th bit is used,
then we can use it for the meta-key.
We check by seeing if BOTH odd and even parity are allowed. */
+ #if defined (TIOCLGET) && defined (LPASS8)
+ ioctl (tty, TIOCLGET, &local_mode_flags);
+ #endif
+
if ((the_ttybuff.sg_flags & (ODDP | EVENP)) == (ODDP | EVENP))
{
#ifdef PASS8
***************
*** 2002,2011 ****
#if defined (TIOCLGET) && defined (LPASS8)
{
! int flags;
! ioctl (tty, TIOCLGET, &flags);
! local_mode_flags = flags;
! flags |= LPASS8;
ioctl (tty, TIOCLSET, &flags);
}
#endif
--- 2006,2012 ----
#if defined (TIOCLGET) && defined (LPASS8)
{
! int flags = local_mode_flags | LPASS8;
ioctl (tty, TIOCLSET, &flags);
}
#endif
---
Shigeya Suzuki
shige%foretune.co.jp@uunet.uu.net
..!uunet!kddlabs!lkbreth!shigeshige@foretune.co.jp (Shigeya Suzuki) (12/20/89)
Index: readline/readline.c bash1.04
Description:
On the terminal which needs both parity flags off,
(Ex. Japanese Kanji terminal using Kanji character set with 8th bit on)
bash incorrectly resets localmode *always*.
With SONY NEWS, by dropping LPASS8 flag, tty driver will not
allow to use Shift-JIS Kanji chatacter.
Repeat-By:
Use bash on the terminal which (sg_flags & (EVENP|ODDP)) == 0
tty will forget all local mode flags.
Fix:
Get and store local tty mode flag always. apply following patch.
*** readline.c.ORIG Wed Dec 20 02:43:14 1989
--- readline.c Wed Dec 20 03:33:48 1989
***************
*** 1994,1999 ****
--- 1994,2003 ----
/* If this terminal doesn't care how the 8th bit is used,
then we can use it for the meta-key.
We check by seeing if BOTH odd and even parity are allowed. */
+ #if defined (TIOCLGET) && defined (LPASS8)
+ ioctl (tty, TIOCLGET, &local_mode_flags);
+ #endif
+
if ((the_ttybuff.sg_flags & (ODDP | EVENP)) == (ODDP | EVENP))
{
#ifdef PASS8
***************
*** 2002,2011 ****
#if defined (TIOCLGET) && defined (LPASS8)
{
! int flags;
! ioctl (tty, TIOCLGET, &flags);
! local_mode_flags = flags;
! flags |= LPASS8;
ioctl (tty, TIOCLSET, &flags);
}
#endif
--- 2006,2012 ----
#if defined (TIOCLGET) && defined (LPASS8)
{
! int flags = local_mode_flags | LPASS8;
ioctl (tty, TIOCLSET, &flags);
}
#endif
---
Shigeya Suzuki
shige%foretune.co.jp@uunet.uu.net
..!uunet!kddlabs!lkbreth!shige