Commit Graph

286 Commits

Author SHA1 Message Date
christos 9e90cfbd5c de-lint:
- bad arithmetic shift
	- const castaways.
2001-01-05 22:57:56 +00:00
christos 9791d7cf26 remove redundant declarations. 2001-01-05 22:51:21 +00:00
simonb e6fa1cbf79 Add the instr and inchstr families of functions. 2001-01-01 10:36:12 +00:00
jdc f7d4b58f02 Libcurses-4.0
Removal of termcap capabilities requires major bump.  Pointed out by Itojun.
Capabilities are still available if `_CURSES_TERMCAP_COMPAT' is defined.
2000-12-31 12:33:02 +00:00
martin 2c14d88958 va_list -> _BSD_VA_LIST_ to be consistent with prototype
(doesn't compile on sparc64 otherwise)
2000-12-30 17:20:55 +00:00
jdc 7a083b2f6e Libcurses minor bump. 2000-12-22 17:08:32 +00:00
jdc c9e9551689 Revert the change to the `pc' capability from the previous change. Pointed
out in email by Thomas Dickey.
2000-12-22 17:07:12 +00:00
jdc 606508da77 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).
2000-12-19 21:34:24 +00:00
wrstuden 1cbd0d8d38 Last revision had some problems. One .De was missing, and a number of
.De's were really .Ds's. Problems were causing output not to be rendered-
number of output pages more than doubled after these fixes, and made much more
sense.
2000-09-27 22:56:00 +00:00
itojun c8df79fc84 do not call wrefresh() uncondintionally from wgetch(). call it only
when the window was touched (is_wintouched()).
the previous behavior damaged existing applications, especially when it issues
lots of subwindow manipulation and mvcur().

it was introduced in 1.23 -> 1.24 or sometime before.
2000-09-23 09:34:07 +00:00
itojun 4915bd101e change behavior of waddnstr(w, s, 0) to be more conformant to XCURSES.
(see comment for detail)
2000-08-13 03:26:41 +00:00
itojun 3804b1dddf build a trace version of libcurses, with "make -DDEBUG_CURSES"
(commented out as it is very uncommon)
2000-08-13 03:20:07 +00:00
itojun 2ee926643f on repaint, we must look at attributes present on curscr.
check __ISPASTEOL on curscr->lines, not on win->lines.  PR 10732.
2000-08-02 10:50:49 +00:00
itojun 67175858ec use __cputchar(), not putchar().
otherwise, __CTRACE() will not be useful for debugging curses internals.
2000-08-01 04:17:09 +00:00
itojun 2e661a4ef6 free region got from t_getstr(). we will experience memory leak if
we call initscr() multiple times (rare, but it's better to be pedant).
2000-07-31 18:55:35 +00:00
itojun 78d8274105 fix 8bit cleanness of getch() and wgetch(). never use char variable against
stdio functions which return "int" (including getchar()).
the bug was introduced in 1.9 -> 1.10.  fixes PR10723.
2000-07-31 16:22:46 +00:00
hubertf 0378dbb440 ".di Df" -> ".di\n.Df", to fix creation of paper.ps
Noted in PR 10661 by Patrick Welche <prlw1@cam.ac.uk>
2000-07-24 11:57:11 +00:00
matt 6ac8d1ec06 More include cleanup. Remvoe (p) from #undef in libipsec. 2000-07-03 03:56:20 +00:00
jdc 6f8ccda063 Really fix the __endwin/stop handler problem. 2000-06-16 06:32:19 +00:00
jdc 172e7c6926 Move setting of __endwin so that we also change it from the stop handler. 2000-06-15 21:20:16 +00:00
jdc 778f1338aa Restore changes 1.23->1.24 that were accidently overwritten. 2000-06-12 21:04:08 +00:00
jdc 42414cd719 Copy all background attributes (not just colour) from win to __virtscr. 2000-06-12 20:51:39 +00:00
jdc 2d0dfab73b Make sure tspace is large enough to hold all capabilities. 2000-06-12 20:48:34 +00:00
simonb fdd068aea6 Minor formatting nit. 2000-06-04 21:07:22 +00:00
blymn 16178745d9 * Added libterm to the include path - tgoto requires it for the private
structure definition.
2000-06-03 07:10:31 +00:00
blymn fb6ac2def9 Fix broken getcap call - it was always returning NULL. Thanks Itojun
for spotting this one!
2000-06-03 06:33:12 +00:00
jdc c1ea940db9 Send 'ks' sequence from first call to keypad(win, TRUE) only and not from
wgetch().  Don't send 'ke' sequence from keypad(win, FALSE) or wgetch().
This makes us compatible with Solaris.
Suggested by ITOH Yasufumi.
2000-05-25 06:46:26 +00:00
jdc 76e63b5fc4 Use __restartwin() in reset_prog_mode() and __stopwin() in
reset_shell_mode().
2000-05-22 05:54:37 +00:00
mycroft 94f8eb040a GC __FORCEPAINT. 2000-05-20 15:12:15 +00:00
mycroft 179e2ccef2 Fix a silly bug that caused blanks to always be redrawn on dirty lines in
curscr.  This usually manifested itself as a very slow redraw after suspend.
2000-05-19 16:00:52 +00:00
mycroft 8a4ca8617d Be more careful with the first/last pointers when untouching. 2000-05-19 07:39:20 +00:00
mycroft d766988531 More microoptimization, and explicitly skip lines that are not dirty. 2000-05-19 07:39:02 +00:00
mycroft c23ccd01a0 Two optimizations in quickch():
* Don't bother comparing lines that are not dirty when looking for the top
  and bottom regions.
* In the loop that searches for the largest equal region, do the totally
  half-assed hack of splitting the inner loop into two parts -- comparing
  only the hash values the first time, and doing memcmp()s the second time.
  This makes many of my test cases >100x as fast.
  XXX This code needs a lot more work.
2000-05-19 04:15:55 +00:00
mycroft 5e7069506f We already initialize UP and BC when we fire up Curses, so pass a null pointer
to t_goto() to avoid doing it again... and again... and...
2000-05-19 01:05:43 +00:00
mycroft 3a14289c85 Clear any cached __LEAVEOK flag in __virtscr when refreshing another window. 2000-05-18 20:37:42 +00:00
jdc 985e3d49d7 Send, if necessary, 'ks' or 'ke' sequences from keypad() and wgetch().
Fixes PR 10116.
2000-05-17 16:23:49 +00:00
jdc 5133f6e158 libcurses minor++. 2000-05-11 22:56:46 +00:00
jdc 8d997082f6 Documemt getattrs(), delay_output() and napms().
Document functions (get*).
2000-05-11 22:54:47 +00:00
jdc 291b7c9d24 Add pause.c. 2000-05-11 22:51:10 +00:00
jdc 6cce64a34b Add getattrs(), delay_output() and napms(). 2000-05-11 22:50:23 +00:00
jdc 225ce34fd7 New functions delay_output() and napms(). 2000-05-11 22:49:13 +00:00
jdc 4cb1d6d3b9 New function getattrs().
Add win to debug output.
2000-05-11 22:44:45 +00:00
blymn fc196e1de6 * Applied patch by mrg to remove variable names from function
prototypes to prevent name space collisions.
2000-05-11 12:05:39 +00:00
jdc aecd0ef1a8 Don't try and refresh those parts of windows that are outside our terminal. 2000-05-07 21:22:43 +00:00
jdc 20e0a208fb Only return TRUE if we can actually manipulate colours. 2000-05-06 19:03:39 +00:00
blymn d2d6d2090b * Fixed lack of win arg in wattr* man entries. 2000-05-05 11:57:46 +00:00
blymn 2128c86b68 * 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.
2000-05-01 12:30:30 +00:00
mycroft 2228799172 As the comment suggests, move the __unsetattr() to the end of doupdate(), just
before the fflush().  This avoids needlessly resetting modes.
2000-04-29 02:51:16 +00:00
mycroft 6d4f51a947 Fix pasto. 2000-04-29 00:50:05 +00:00
mycroft f9f1ee95d2 Use the mask here too. 2000-04-29 00:43:36 +00:00
mycroft c7d40b65f9 Speed up refresh in the presence of attributes by precalculating a mask for
each `end' command to turn off other attributes in the case of conflicts.
2000-04-29 00:42:26 +00:00
mycroft db72a0c5d6 Clean up a bunch more logic. 2000-04-28 23:37:11 +00:00
mycroft 40add0b991 Massively simplify some logic. 2000-04-28 22:44:33 +00:00
jdc e074acd8a2 We can't assume colour won't be turned off if the escape sequences for
turning off attributes aren't the same as the one for colour, so decide
that we've turned off colour when we turn off any attributes.
2000-04-28 17:11:51 +00:00
jdc ff39cfe5f4 Remove test code inadvertently left in. 2000-04-28 06:51:36 +00:00
jdc bb8643a097 Don't change the cursor position if __LEAVEOK. 2000-04-27 22:12:36 +00:00
mycroft 5b770d6f23 Fix a silly bit-shifting error that causes color pairs >=8 to fail. 2000-04-27 19:54:40 +00:00
mycroft 317366b8b0 No, really, make sure ECHO is cleared in cbreak() mode too. 2000-04-27 17:50:01 +00:00
mycroft 699c904e5e Don't fiddle with the tty echo state in echo() and noecho(); it should always
remain off.
2000-04-27 17:38:30 +00:00
mycroft e06792e318 Fix obvious bugs in init_pair(). 2000-04-27 05:03:22 +00:00
jdc 85a2e6448b Bump libcurses minor (new functions - wnoutrefresh() and doupdate()). 2000-04-27 00:28:58 +00:00
jdc 9eb3d5276b Add wnoutrefresh() and doupdate(). 2000-04-27 00:28:28 +00:00
jdc fbc7603df3 Fix `gcc -Wuninitialized`.
Use unctrl() for capability string when debugging.
2000-04-27 00:27:56 +00:00
jdc 4076d037fb Use __unsetattr() to unset attributes on 'curscr'. 2000-04-27 00:27:23 +00:00
jdc 5b8d714caa Use '__TERMATTR'.
Reorder initialisation to make debugging easier to parse.
Use t_getent() not tgetent().
2000-04-27 00:26:57 +00:00
jdc 1e17d2d2ed Implement wnoutrefresh() and doupdate(). wrefresh() now calls these functions
and the previous wrefresh() code is split between them.  Background character
and attribute handling is now done in wnoutrefresh(), thus simplifying the code
in doupdate(), makech() and quickch().
Refine xterm workround and test for it earlier - this cuts down the number of
lines we test when looking for a scrolled region.
Rename unsetattr() to __unsetattr(), so it can be used by __stopwin().
2000-04-27 00:26:19 +00:00
jdc 7b941b625f Add extra KEY_* definitions (from SUSv2).
Fix `gcc -Wuninitialized`.
2000-04-27 00:23:26 +00:00
jdc 4b24f5540b Add virtual screen for wnoutrefresh()/doupdate(). 2000-04-27 00:23:01 +00:00
jdc 3f832f5227 Add virtual screen for wnoutrefresh()/doupdate().
Add definition for __unsetattr().
2000-04-27 00:22:44 +00:00
jdc 172c0dd7e2 Background colour erase is 'ut' not 'be'.
Add extra KEY_* definition.
Wrap definition of 'bool' with "#ifndef __cplusplus".
Add __attributes(...) to *printw() and *scanw().
Add wnoutrefresh()/doupdate() definitions.
2000-04-27 00:22:16 +00:00
jdc bd499f9b1b Background colour erase is 'ut' not 'be'. 2000-04-27 00:21:43 +00:00
jdc 703f438d4d Background colour erase is 'ut' not 'be'.
Add virtual screen for wnoutrefresh()/doupdate().
2000-04-27 00:21:22 +00:00
blymn 67967397d1 * Fixed bug in copywin.
* Fixed bug in overwrite.
* Added functions is_linetouched, is_wintouched, untouchwin and wtouchln.
2000-04-26 12:29:47 +00:00
blymn 43bf1b16a3 Bump minor version. 2000-04-25 14:05:15 +00:00
pk 8333b49df5 Fix `.Fn' call. 2000-04-24 15:13:54 +00:00
blymn 66cab71c72 * Added rcs id line to files missing it.
* 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.
2000-04-24 14:09:41 +00:00
blymn a0abaa5357 This time commit the curs_set change... 2000-04-23 14:17:32 +00:00
blymn cf5ffc46f2 * Fixed bug in copywin which was copying more than it should.
* Changed call to wrefresh in wgetch to be before input read.
* Changed default old cursor mode to be high vis in curs_set
* Added documentation for various new functions to fns.doc.
2000-04-23 14:14:49 +00:00
thorpej 6600b61c73 Fully initialize the structure allocated in new_keymap(). 2000-04-22 21:14:19 +00:00
blymn 5cd0c74b1f * Added ungetch
* Converted inkey and getch to use getchar instead of read so ungetch
  will work.
2000-04-22 14:32:44 +00:00
blymn bb083e0e5c * Fixed need for duplicate namp string in setterm.c
* Added meta function (turns meta bit on and off on terminal if supported)
* Added curs_set to control cursor visibility if supported.
2000-04-22 13:29:01 +00:00
jdc 9c98e25a34 Work round xterm bug which displays the wrong background colour when the
screen has just been scrolled.
Only use CL if all lines have the same background colour.
Fix debug output in quickch().
2000-04-21 15:56:35 +00:00
jdc cc935fb60f Initialise colour pairs to default (white on black).
Move colour initialisation so we don't reinitialise the first 8 colours.
2000-04-21 15:54:42 +00:00
blymn fd2c9043b8 * Added new function dupwin.
* Fixed bug in copywin overwrite code.
2000-04-20 13:12:14 +00:00
kleink 405a7540e7 * Move <wchar.h> from libcurses to include (for the missing functionality
is to be provided by libc).
* Define wint_t and size_t in <wchar.h> as well.
2000-04-20 09:56:36 +00:00
blymn 8245539af9 * Fix longname behaviour so it returns the last alias for the terminal
name which, by convention, is the verbose terminal description.
* Fix compile errors when DEBUG defined.
2000-04-20 09:36:11 +00:00
blymn 091faeb4c6 Converted all termcap library calls to the "new" interface, this fixes
a problem with curses crashing when the CM capability was larger than
64 bytes and eliminates some possible buffer overflow problems.
2000-04-19 13:52:39 +00:00
jdc 008e7d1528 Use Sb/Sf if AB/AF not present.
Missed a "\n" in debugging printf.
2000-04-18 22:47:40 +00:00
jdc 2aeea33d8c Add support for background characters and attributes.
Add extra colour/attributes debugging.
2000-04-18 22:47:01 +00:00
jdc 92a8633938 Set background character and attributes for added characters. 2000-04-18 22:45:23 +00:00
jdc 31355762dc Don't replace background character with null character.
Set new background character and attributes in wbkgd().
2000-04-18 22:44:21 +00:00
jdc 836ef17ff0 Add __TERMATTR definition. This makes the code in refresh.c much easier to
follow.
Add background character and attributes to line data.
2000-04-18 22:43:25 +00:00
jdc 17934cdb2f Include <string.h> - prototype for memcpy. Thanks due to Tim Rightnour. 2000-04-18 22:15:55 +00:00
jdc 91b2edc9db Make sure we don't read a negative character value (again). 2000-04-18 21:44:48 +00:00
blymn e79669d636 More multiple changes:
* 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.
2000-04-18 12:23:01 +00:00
blymn ec6e2540fe 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
2000-04-17 12:25:45 +00:00
jdc 711853729d Really don't move with altcharset set.
Leave other attributes if MS is defined.
Move attribute unsetting into a new function.
2000-04-16 09:55:16 +00:00
jdc 032680bbac Add bkgd() and bkgdset() (which were previously just macros). 2000-04-16 09:52:49 +00:00
jdc 5daa179562 Add extra debug output (for wattrset()). 2000-04-16 09:48:09 +00:00
mycroft 3dda981dc7 Make subwindows scroll correctly. 2000-04-16 05:48:25 +00:00