Home | History | Annotate | Download | only in libcurses
History log of /src/lib/libcurses/scroll.c
RevisionDateAuthorComments
 1.29  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.28  05-Dec-2024  blymn Fixes PR lib/58823

Implement the ncurses extension wgetscrreg which returns the
scrolling region of the given window. Also implement getscrreg to
get the scrolling region of stdscr which appears to be missing from
ncurses but does follow the convention of having a non w prefixed
function that applies to stdscr.

Due to the addtion of a new function a minor library version bump has
been done.
 1.27  06-Sep-2021  rin branches: 1.27.4;
Expand __CTRACE() to __nothing #ifndef DEBUG.

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

No binary changes, except for line numbers for assert().
 1.26  09-Jun-2019  blymn Rework previous fix for getch cursor position when cursor is moved
without refresh. If the window is not dirty but the window cursor
position does not match curscr then move the cursor. This fixes
the issues seen in PR lib/54263.
 1.25  20-May-2019  blymn Back out incorrect fix for PR 53617 and fix it in a different way.
Keep track of the cursor location, if getch is called without a refresh
and without pending updates (dirty windows) then move the cursor to the
correct location directly. Doing this prevents unnecessary refreshes.
 1.24  10-Feb-2017  blymn branches: 1.24.12;
Remove checks for cursor being in scrolling region, ncurses doesn't
do checking, rather just scrolls the scrolling region so we shall
follow suit. SUSv2 says what is happens when scrl is called with the
cursor outside the scrolling is undefined so we should match ncurses.
This fixes PR#51819 without forcing tin to use terminfo directly.
 1.23  06-Jan-2017  roy branches: 1.23.2;
KNF.
Normalise coding style.
White space police.
Sprinkle some extra braces to make the flow more clear.

No functional changes.
 1.22  03-Feb-2010  roy branches: 1.22.28;
Userland now builds and uses terminfo instead of termcap.

OK: core@, jdc@
 1.21  28-Jul-2009  christos fix debugging build. Hi Roy!
 1.20  22-Jul-2009  roy Prepare curses for the possibility of changing from termcap to terminfo.
term.h #defines lines, pad_char and no_color_video macros which conflict
with existing curses code. We change lines to alines and nlines depending
on use, pad_char to padchar and no_color_video becomes no_color_attributes
but with a strong alias from no_color_video.
 1.19  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.18  07-Aug-2003  agc branches: 1.18.18;
Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22280, verified by myself.
 1.17  17-Feb-2003  dsl Fix resize of windows with subwins.
Let window size be given as a -ver number => lines from bottom.
Fix trace calls of pointers
(approved by Brett Lumn)
 1.16  17-May-2001  jdc Set scrolling region top correctly.
Fixes scrolling bug in sub-windows.
 1.15  20-Apr-2001  jdc Implement scrolling regions :
has_ic()
has_il()
setscrreg()
wsetscrreg()
 1.14  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.13  01-Aug-2000  itojun use __cputchar(), not putchar().
otherwise, __CTRACE() will not be useful for debugging curses internals.
 1.12  15-Apr-2000  blymn branches: 1.12.4;
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.11  11-Apr-2000  blymn Made data structures opaque
 1.10  13-Apr-1999  mrg branches: 1.10.6;
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.9  03-Feb-1998  perry remove obsolete register declarations
 1.8  22-Jul-1997  mikel RCSid police, fix warnings
 1.7  17-Aug-1994  cgd branches: 1.7.2;
clean up import
 1.6  24-Jan-1994  cgd changes from branch
 1.5  09-Nov-1993  cgd repeat after me: "I hate rcs ids"
 1.4  09-Nov-1993  cgd branches: 1.4.2;
update to new version from berkeley. doesn't compile yet, nor
does it have rcsid's. this is for diffs.
 1.3  07-Aug-1993  mycroft New version from uunet.
 1.2  01-Aug-1993  mycroft Add RCS identifiers.
 1.1  21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2  17-Aug-1994  cgd new libcurses, from new nvi
 1.1.1.1  21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.4.2.1  24-Jan-1994  cgd minor fixups
 1.7.2.2  17-Aug-1994  cgd clean up import
 1.7.2.1  17-Aug-1994  cgd file scroll.c was added on branch netbsd-1-0 on 1994-08-17 21:52:44 +0000
 1.10.6.1  05-Mar-2000  jdc Add wscrl().
 1.12.4.1  03-Aug-2000  itojun pullup (approved by releng-1-5)

> use __cputchar(), not putchar().
> otherwise, __CTRACE() will not be useful for debugging curses internals.

1.18 -> 1.19 basesrc/lib/libcurses/cr_put.c
1.38 -> 1.39 basesrc/lib/libcurses/refresh.c
1.12 -> 1.13 basesrc/lib/libcurses/scroll.c
 1.18.18.1  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.22.28.2  20-Mar-2017  pgoyette Sync with HEAD
 1.22.28.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.23.2.1  21-Apr-2017  bouyer Sync with HEAD
 1.24.12.1  10-Jun-2019  christos Sync with HEAD
 1.27.4.1  02-Aug-2025  perseant Sync with HEAD

RSS XML Feed