Branch: Tag:

2020-02-26

2020-02-26 15:49:19 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Stdio.File: Added tcdrain() and tcsetsize().

It is now possible to set the window size for a pty or other terminal.

Also adds documentation for them as well as tcflush() and tcsendbreak(),
and moves it and the documentation for tc{get,set}attr() from Stdio.File
to Stdio.Fd.

Also some fixes to make the code work on systems with <sys/termios.h>
but no <termios.h>, and preparation to make some of it work on NT.

Fixes some of #10013.

318:    "array ": "predef::Image.GIF.__decode":1, "predef::Image.GIF._decode":2, "predef::Image.ILBM.__decode":1, "predef::Image.ILBM._decode":1, "predef::Image.Image.cast":1,    "assign()": "predef::Stdio.Fd.dup2":2,    "atexit": "lfun::destroy":1, -  "attr": "predef::Stdio.File.tcgetattr":1, +  "attr": "predef::Stdio.Fd.tcgetattr":1,    "backtrace_frame": "predef::Error.Generic":1, "predef::Error.Generic.create":1, "predef::MasterObject.describe_backtrace":1,    "bind": "7.8::Stdio.Port.create":1,    "bind()": "7.8::Stdio.Port.create":1,
533:    "verify_target()": "predef::Protocols.Bittorrent.Torrent.fix_targets":1,    "verison": "7.8::SSL.session.set_cipher_suite":1,    "void ": "7.6::Calendar.YMD.Week.create":8, "7.6::Calendar.YMD.Year.create":5, "predef::Calendar.SuperTimeRange.create":1, "predef::Calendar.Time.Fraction.create":4, "predef::Calendar.Time.TimeofDay.call_out":1, "predef::Calendar.Time.TimeofDay.create":2, "predef::Calendar.TimeRanges.TimeRange.create":4, "predef::Calendar.YMD.Day.create":5, "predef::Calendar.YMD.Week.create":3, "predef::Calendar.YMD.Year.create":5, "predef::Image.Color.Color.create":1, "predef::Image.Colortable.create":6, "predef::Image.Image.clear":3, "predef::Image.Image.create":7, "predef::Image.Image.noise":2, "predef::Image.Image.turbulence":2, "predef::Image.Layer.create":5, "predef::Image.TTF.FaceInstance.create":1, -  "when": "predef::Stdio.File.tcgetattr":1, +  "when": "predef::Stdio.Fd.tcgetattr":1,    "with_confidentiality": "predef::GSSAPI.Context.wrap_size_limit":1,    "write_cb": "7.8::Stdio.File.set_read_callback":5, "predef::Stdio.File.set_read_callback":5,    "write_oob": "7.8::Stdio.File.set_read_callback":1,
1408:   "predef::Stdio.Fd.set_backend": "set_fs_event_callback" "set_read_callback" "set_write_callback"   "predef::Stdio.Fd.set_buffer": "accept()"   "predef::Stdio.Fd.set_close_on_exec": "exec()" + "predef::Stdio.Fd.tcgetattr": "attr" "when"   "predef::Stdio.Fd.trylock": "Stdio.FileLockKey"   "predef::Stdio.Fd_ref": "_Stdio.Fd"   "predef::Stdio.File.create": "chmod()"   "predef::Stdio.File.line_iterator": "LineIterator"   "predef::Stdio.File.set_read_callback": "System.EPIPE" "close_cb" "read_oob_cb" "write_cb" "write_oob_cb" - "predef::Stdio.File.tcgetattr": "attr" "when" +    "predef::Stdio.Port": "_port"   "predef::Stdio.Terminfo.Termcap": "TermMachine"   "predef::Stdio.Terminfo.Terminfo": "TermMachine"