Dear scsh maintainers,
This is scsh 0.4.2 on Solaris 2.4 and 2.5, both on Sparc and Intel platforms.
Calling the function "set-tty-info/now" yields an error. Same with "/drain"
and "/flush". I am calling it with definitely legal parameters, as they
were just gotten from "tty-info". See the log:
> > (set-tty-info/now 0 (tty-info 0))
>
> Error: 22
> "Invalid argument"
> #{Procedure 9744 %set-tty-info}
> 0
> 0
> "
> 0
> 9474
> 0
> 1
> 0
> 189
> 0
> 35378
> 0
> 13
> 4
> 0
> 1>
The reason is:
The file "scsh/solaris/tty-consts.scm" defines "%set-tty-info/now" etc.
differently from the header file. I had to change it to:
(define %set-tty-info/now 21518) ; TCSANOW Make change immediately.
(define %set-tty-info/drain 21519) ; TCSADRAIN Drain output, then change.
(define %set-tty-info/flush 21520) ; TCSAFLUSH Drain output, flush input.
to make it work.
Here are the relevant parts of the header file "/usr/include/sys/termios.h":
#pragma ident "@(#)termios.h 1.23 93/12/15 SMI" /* SVr4.0 1.31 */
[...]
#define _TIOC ('T'<<8)
[...]
#define TCSANOW (_TIOC|14) /* same as TCSETS */
[...]
#define TCSADRAIN (_TIOC|15) /* same as TCSETSW */
[...]
#define TCSAFLUSH (_TIOC|16) /* same as TCSETSF */
[...]
I hope this can be fixed portably in the next version.
Thank you for the work on scsh!
Yours
Lutz Euler
--
Lavielle EDV Systemberatung GmbH & Co.
Lotharstrasse 2b, D-22041 Hamburg, Germany
Tel.: ++49 40 / 65 80 88
Fax: ++49 40 / 65 808-202
EMail: euler@lavielle.com
|