Home | History | Annotate | Download | only in libcurses
History log of /src/lib/libcurses/tty.c
RevisionDateAuthorComments
 1.51  23-Dec-2024  blymn Sprinkle about some cycle wasting checks for the win pointer being
null. Unfortunately, ncurses does this and there is some sloppy code
out there that relies on the check resulting in segfaults in
NetBSD curses which then, of course, gets blamed for the error.
 1.50  09-Oct-2023  blymn branches: 1.50.2;
Correct the fd closed check so we actually check the outfd as per
the comment. Thanks for jdc@netbsd.org for catching this one.
 1.49  06-Sep-2021  rin branches: 1.49.2;
Expand __CTRACE() to __nothing #ifndef DEBUG.

Remove most of #ifdef DEBUG around __CTRACE() calls.

No binary changes, except for line numbers for assert().
 1.48  16-Nov-2018  blymn Fix for PR lib/52063
Many thanks to Onno van der Linden (o.vd.linden@quicknet.nl) for providing
the bulk of the patch that fixes the issue.
 1.47  18-Oct-2018  roy curses: don't optimize stdout buffer for non BSD platforms

The way BSD setvbuf works is not portable and should not be relied on.
This is only important if curses is started, stopped and started in the
same session which is how portable applications handle terminal resizing.
 1.46  06-Jan-2017  roy branches: 1.46.12; 1.46.14;
KNF.
Normalise coding style.
White space police.
Sprinkle some extra braces to make the flow more clear.

No functional changes.
 1.45  31-Dec-2016  roy Implement POSIX Curses typeahead function.
 1.44  12-Dec-2016  christos fix placement of lint comment
 1.43  29-Aug-2011  christos branches: 1.43.24;
Fix for systems that don't have TCSASOFT as intended originally. Simplify.
 1.42  03-Feb-2010  roy Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.41  01-Nov-2009  dsl Move calls to __restore_termios() into the failing path of the functions
that fail - instead of in most of the callers.
All rather pointless if tcsetattr() fails to set the mode we want we
are very unlikely to be able to restore any later on.
 1.40  28-May-2007  blymn Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.
 1.39  21-Jan-2007  jdc Add debug "areas" that allow selective debugging by setting the
"CURSES_TRACE_MASK" environment variable. Postive vales include
debug areas, negative values exclude them.
 1.38  23-Aug-2006  jdc branches: 1.38.4;
Add some more debugging information.
 1.37  25-Jul-2006  christos branches: 1.37.2;
PR/34011: Julian Coleman: Limit timeout to 25.5 seconds.
 1.36  20-Jan-2004  wiz Add function descriptions. From Douwe Kiela.
 1.35  07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.34  30-Jul-2003  dsl Adjust layut to put ?: clause on a single line
 1.33  20-Jun-2003  jdc Add noqiflush() and qiflush()
Fixes PR lib/20037.
 1.32  05-Apr-2003  jdc Keep the cr->nl translation state in a separate variable, so that we can
do the translation ourselves (if the tty didn't do it for us).
Add debugging to track functions that change tty state.

Fixes PR 20834 by Stephen Borrill.
 1.31  09-Jan-2003  atatat Let's call it 'duration' instead of 'timeout' so that the compiler is happy.
 1.30  09-Jan-2003  blymn Added halfdelay() function.
 1.29  26-Jun-2002  itojun handle non-tty cases more gracefully.
 1.28  02-Jan-2002  blymn branches: 1.28.2;
Remove extraneous tabs from blank lines.
 1.27  31-Dec-2001  blymn fix __startwin() so it outputs the init strings to the correct device.
 1.26  02-Dec-2001  christos lib/14813: Jason R. Thorpe: worm(6) no longer builds w/ new libcurses
Make baudrate a function, gc old variables, implement ospeed in terms of
baudrate, bump major number to 5, since we don't have __baset anymore.
 1.25  02-Dec-2001  blymn * Major change to add support for the newterm/set_term functions.
* Added fix to getch.c suggested by Gabriel Rosenkoetter (thanks :-)
 1.24  19-Dec-2000  jdc Rename variables refering to termcap capabilities from NN to __tc_nn. Case
adjusted to match termcap capability. A few other variable names renamed too
(ones related to or derived from termcap variables).
 1.23  16-Jun-2000  jdc Really fix the __endwin/stop handler problem.
 1.22  15-Jun-2000  jdc Move setting of __endwin so that we also change it from the stop handler.
 1.21  22-May-2000  jdc branches: 1.21.2;
Use __restartwin() in reset_prog_mode() and __stopwin() in
reset_shell_mode().
 1.20  17-May-2000  jdc Send, if necessary, 'ks' or 'ke' sequences from keypad() and wgetch().
Fixes PR 10116.
 1.19  01-May-2000  blymn * Made erasechar and killchar into functions
* Modified __init_getch to use termcap handle that has been allocated
(_cursesi_genbuf) instead of refetching it.
* Make wgetstr support erase - this is not a full blown SUSv2 version
but it is a start.
 1.18  27-Apr-2000  mycroft No, really, make sure ECHO is cleared in cbreak() mode too.
 1.17  27-Apr-2000  mycroft Don't fiddle with the tty echo state in echo() and noecho(); it should always
remain off.
 1.16  17-Apr-2000  blymn Multiple fixes:
* Added Bill's fixes for errors when compiling with WARNS=1
* Incorporated fixes to make usage of unctrl consistent in debug and
made improvements to ctrace - it now timestamps it's output better.
* Reduced the number of mallocs done by __init_getch by allocating key
structs in bunches instead of singly.
* Removed the shadowing of global declarations in newwin and subwin
functions
 1.15  15-Apr-2000  blymn Added functions to replace what were previously macros in curses.h
(this is a requirement of SUSv2) - the old macro behaviour can be
restored by defining _CURSES_USE_MACROS.
Changed function prototypes to use ANSI style.
All externally visible functions now have ANSI style declarations.
 1.14  12-Apr-2000  jdc Add intrflush().
Add def_shell_mode() and reset_shell_mode().
Include private header.
 1.13  11-Apr-2000  blymn Made data structures opaque
 1.12  28-Jun-1999  simonb branches: 1.12.6;
Get rid of the evil trailing spaces and tabs.
 1.11  13-Apr-1999  mrg Upgrades the standard NetBSD curses library to provide some
of the SYSV curses facilities. The added features are the collapsing
of arrow and function keysequences (as defined by termcap for the
terminal) into symbolic code returns thus relieving the application of
recognising multi-character key sequences. Other features are the
capability to perform a timed wait for a key (good for when you are
not sure if there is a keypress ready or not) and the capability for
turning off the inter-key timeout when assembling multi-character
function keys.

this work was done by Julian Coleman <J.D.Coleman@newcastle.ac.uk>
and blymn@baea.com.au (Brett Lymn). i'm just integrating it. thanks
HEAPS guys!
 1.10  30-Jan-1998  perry merge with lite-2
 1.9  13-Nov-1997  phil Changes to make endwin() act like a SIGSTP in terms of nicely restarting
curses mode. Taken from e-mail about PR 3981. (Still some stuff left
in PR3981 to deal with.)
 1.8  12-Sep-1997  phil branches: 1.8.2;
Make endwin() save state so a subsequent call to wrefresh restores curses
and makes endwin()/wrefresh() act like a SIGTSTP.
 1.7  22-Jul-1997  mikel RCSid police, fix warnings
 1.6  17-Aug-1994  cgd branches: 1.6.2;
clean up import
 1.5  14-Aug-1994  mycroft Fix return value from endwin().
 1.4  24-Jan-1994  cgd branches: 1.4.2;
changes from branch
 1.3  09-Nov-1993  cgd repeat after me: "I hate rcs ids"
 1.2  09-Nov-1993  cgd branches: 1.2.2;
update to new version from berkeley. doesn't compile yet, nor
does it have rcsid's. this is for diffs.
 1.1  07-Aug-1993  mycroft branches: 1.1.1;
New files.
 1.1.1.2  30-Jan-1998  perry import lite-2
 1.1.1.1  17-Aug-1994  cgd new libcurses, from new nvi
 1.2.2.1  24-Jan-1994  cgd minor fixups
 1.4.2.1  14-Aug-1994  mycroft update from trunk
 1.6.2.2  17-Aug-1994  cgd clean up import
 1.6.2.1  17-Aug-1994  cgd file tty.c was added on branch netbsd-1-0 on 1994-08-17 21:52:55 +0000
 1.8.2.1  15-Nov-1997  mellon Pull rev 1.9 up from trunk (phil)
 1.12.6.2  05-Mar-2000  jdc Use fpurge() in flushinp().
 1.12.6.1  09-Jan-2000  jdc Changes to make libcurses SUS v2 compatible.
 1.21.2.1  23-Jun-2000  minoura Sync w/ netbsd-1-5-base.
 1.28.2.1  16-Jun-2003  grant Apply patch (requested by jdc in ticket #1244):

Keep the cr->nl translation state in a separate variable, so that we can
do the translation ourselves (if the tty didn't do it for us).
Add debugging to track functions that change tty state.
 1.37.2.1  28-Aug-2006  tron Pull up following revision(s) (requested by jdc in ticket #75):
lib/libcurses/tty.c: revision 1.38
lib/libcurses/tstp.c: revision 1.33
lib/libcurses/touchwin.c: revision 1.22
Add some more debugging information.
 1.38.4.2  21-Jan-2007  jdc Apply the changes that add debug "areas" on HEAD to the wcurses branch.
Add correspending changes to the debug code that is only present on the branch.
 1.38.4.1  21-Jan-2007  blymn Wide curses merge
 1.43.24.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.46.14.1  10-Jun-2019  christos Sync with HEAD
 1.46.12.2  26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.46.12.1  20-Oct-2018  pgoyette Sync with head
 1.49.2.1  10-Oct-2023  martin Pull up following revision(s) (requested by kim in ticket #402):

tests/lib/libcurses/check_files/waddstr2.chk: revision 1.2
tests/lib/libcurses/check_files/addstr3.chk: revision 1.5
lib/libcurses/addbytes.c: revision 1.69
lib/libcurses/tty.c: revision 1.50

Fix for install/56467

Set x to 0 before calling scroll based on a proposed fix by RVP (thanks!)
Update check files affected by a fix to addbyte.c in libcurses.

Correct the fd closed check so we actually check the outfd as per
the comment. Thanks for jdc%netbsd.org@localhost for catching this one.
 1.50.2.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed