Commit Graph

308 Commits

Author SHA1 Message Date
blymn 23231c1a0e Added 2 new functions and a macro:
- getparx
        - getpary
        - getparyx (macro)
Also minor tweak to the man page to correct grammar on a couple of items.
2001-10-14 12:36:09 +00:00
blymn 6a6d2c60ec Add mvderwin function. 2001-10-08 10:45:13 +00:00
wiz 4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
blymn 9fc0329619 Add code to allow resizing of windows and the underlying terminal. 2001-09-20 11:11:54 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
wiz c03a48d64f withough -> without 2001-06-13 10:45:57 +00:00
wiz 40ac848024 Fix various misspellings of compatible/compatibility. 2001-06-11 01:50:48 +00:00
jdc 048f92e86e Set scrolling region top correctly.
Fixes scrolling bug in sub-windows.
2001-05-17 19:04:01 +00:00
jdc e9d9414894 Document getnstr(). 2001-04-21 16:28:27 +00:00
jdc e0083771d7 Add missing prototypes.
Fixes PR lib/12714.
2001-04-21 16:19:37 +00:00
jdc 475308e857 Forget to mention: This fixes PR lib/12565. 2001-04-20 13:14:42 +00:00
jdc 36d80fe4b0 Add entries for scrolling regions and getnstr() functions. 2001-04-20 13:06:35 +00:00
jdc e1b04b0bbd Bump libcurses minor (now 4.2). 2001-04-20 13:04:58 +00:00
jdc e279497a4c Implement the getnstr() functions.
Add __warn_references() for getstr().
Move getstr() family closer to SUSv2 :
  add checks for <carriage return>, the kill character, KEY_LEFT and
  KEY_BACKSPACE
  ignore other KEY_* characters
2001-04-20 13:03:24 +00:00
jdc f82a1102e0 Make comments match reality (delete-char instead of insert-char). 2001-04-20 12:57:47 +00:00
jdc 3f9388e3e3 Implement scrolling regions :
has_ic()
  has_il()
  setscrreg()
  wsetscrreg()
2001-04-20 12:56:08 +00:00
jdc d096f2ef67 Display default (HLINE/VLINE) characters when character 0 is passed in.
This is not in the SUSv2 specification but is what System V curses does
(and it's consistent with box() and border()).
2001-02-05 21:56:36 +00:00
jdc 8ce2f7e54b Don't delete attributes when character 0 (default) is passed in.
Minor KNF.
2001-02-05 21:54:21 +00:00
blymn 4aa92dbcd1 There was a missing check for curscr != NULL, fixed. 2001-01-14 08:12:47 +00:00
blymn 680d3cd9aa Fixed casting bug in array indexing, a signed char was being sign
extended when cast to unsigned, made the cast "unsigned char"
2001-01-10 14:02:31 +00:00
augustss 2e7677dc49 Make this compile again.
(I thought the idea was to test things before commiting;
if it doesn't even compile it can't possibly have been tested.)
2001-01-07 14:44:03 +00:00
jdc 13dfd1f5bb Free(3) delstr after use.
Pointed out by Mike Grupenhoff in email.
2001-01-07 13:56:42 +00:00
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