* 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.
Add extra KEY_* definition.
Wrap definition of 'bool' with "#ifndef __cplusplus".
Add __attributes(...) to *printw() and *scanw().
Add wnoutrefresh()/doupdate() definitions.
* Added code to __restartwin to restore meta and cursor visibility states
* Added code to __stopwin to disable meta.
* Added the *line group of functions for drawing character lines.
* Added function derwin.
* Added function copywin.
* Modified both overlay and overwrite to use copywin.
* Updated man page with new functions and fixed minor format glitch.
* 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
(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.
Add background manipulation functions.
Add def/reset_prog/shell_mode().
Remove __TERMATTR.
Tidy up tab vs. space.
Macros get...y and get...x are now functions.
Private functions/variables moved to curses_private.h
Replace character/attribute definitions from curses_private.h
screen update problems (particularly on the pmax, sparc and alpha,
and i386 to a lesser extent). It seems that because __LDATA wasn't a
fully packed structure (and hashes to check for screen updates hashed
unused areas in the structure as well) that under some circumstances the
compiler filled the unused areas with garbage.
Doesn't break binary compatibiliy - no shared library version number
changes.
"u_int32_t", and move new member "delay" to the end of the structure.
Restores binary compatibility with older curses-based programs that
called any macros that modified window flags (like clearok, which
bites vi).
Fixes PR lib/7863 from Ross Harvey.
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!
Standard curses library use eight bit for standout mode, so
8-bit characters displays like highlighted 7-bit characters.
This patch produce library which is fully compatible with all curses
programs and add 8-bit chars to all input/display functions.
---
I don't think, that any programs wish to use internal curses
attribute _STANDOUT directly, in expressions like:
addch( ch | _STANDOUT );
Normal interface use standout() and standend() functions instead.
Many programs use 'char' type (with sign extention) for input characters
and sign extention becomes _STANDOUT mode in this case.
So, I refuse this future and allow 8-bit characters for programs,
which is designed for 7-bit only ('char' type using instead of
'unsigned char').
---
This small patch fix unpleasant standard curses bug:
curses can't expand TAB at all (but tries).
A man who wrote this curses misplace SYNC_IN and SYNCH_OUT,
this patch exchange macro calls.
This patch useful for standard 7-bit curses too, for this
you must delete '_' symbol before waddbytes and apply patch.
---
Oh, NO! This curses are really buggy!
This small patch fix following problem:
[ assumed scrollok(stdscr, TRUE) ]
when addch(ch) at lower right corner of screen, curses are realy
gone mad instead if simple scrolling... Curses code assumed that
this will be done correctly, but implement it with two bugs.