On Sat, Jan 21, 2023 at 08:55:26AM +0100, Sven Joachim wrote: > It does not happen very often that somebody replies to an over 20 years > old bug, and this seems to have escaped both my and upstream's > attention.
Thank you, Sven. I realize this is unusual and I hope you do not mind. As a user, I greatly appreciate that Debian took a "universal" view of this bug and did not close it for simply being "old", as so many commercial products do. On Sat, 21 Jan 2023 17:18:18 -0500, Thomas Dickey wrote: > Given the size of the patch, it's going to take some time to investigate. > - Most of the items in question date back to the mid-1990s. I do apologize for the large patch. It is mostly due to removing all the undocumented settings. I tried to find the point in time when the code diverged from the documentation to see if any reasoning was given, but had no success. I did, however, manage to figure out why those particular termios options were chosen: it looks like it was an attempt to set _everything._ The Linux manpage for termios(3), https://manpages.debian.org/sid/manpages-dev/termios.3.en.html, contains the same list in the same order, albeit with a few newer additions. That's not to say that `reset` was based on the Linux manpage, as they both could have been derived from some other source. It merely indicates that the purpose of the code was to be exhaustive. > - There's also the consideration of compatbility with other systems. A good question. If such a compatibility issue does turn up, I suggest that, at a baseline, the code ought to agree with the documentation. If compatibility problems are minor, it might be possible to accept that this change would break systems that (unwisely) relied on undocumented features. On the other hand, if the code cannot change, then the documentation must. Unfortunately, that looks to be more of a chore as every option that is kept in the code would need documentation of how reset will change it and (ideally) why. --Ben