Commit Graph

949 Commits

Author SHA1 Message Date
rin 1e421f65db PR lib/53615
Before invoking a previous signal handler, make sure it is not SIG_*.
Fix potential crash with SIGWINCH.

OK roy
2018-09-18 22:51:00 +00:00
rin 88ccf2cadc PR lib/53615
getch() and get_wch() should return KEY_RESIZE when interrupted by SIGWINCH.

OK roy
2018-09-18 22:46:18 +00:00
simonb e6a7f880ff Avoid curx going beyond end of window when adding a wide character to the
last column.

OK @blymn.
2018-08-08 02:26:08 +00:00
christos 2357fc5dd5 use SUBDIR.roff suggested by uwe@ 2018-06-10 17:55:11 +00:00
dholland 32cded6cc9 Typos. 2018-02-08 09:05:16 +00:00
roy ab1cdcdbe2 Allow a subwindow to contain another subwindow.
This reverts r1.37 and allows wip/rtv to work better.
2017-09-18 10:18:13 +00:00
wiz b2204870d0 Use Dv for non-errno return values (instead of Er). 2017-09-18 08:49:20 +00:00
abhinav 2e26e026b9 Fix typo 2017-09-17 21:46:46 +00:00
wiz 01869ca4d2 Remove workaround for ancient HTML generation code. 2017-07-03 21:28:48 +00:00
abhinav b34e0a62c9 Fix typo in the man page reference 2017-05-18 16:41:12 +00:00
roy 5128a2ed79 POSIX says that use_env(3) must precede setupterm(3).
The former lives in curses.h, but the latter lives in term.h.

This is solved by moving the function to libterminfo.
Because the environment can affect the terminal capabilities for
lines and columns, it follows that the tty size should affect it to.
So move that code to libterminfo and adjust in libcurses.
2017-03-23 00:55:39 +00:00
christos 010ddb1dfc Make this compile again (gcc does not like strcmp(maybe-NULL, maybe-NULL);
simplify the life of the {compiler,human eyes}.
2017-03-20 20:44:06 +00:00
christos f85b99dc0a Make this compile again: use ce instead of clr_eol which gcc thinks might
be NULL.
2017-03-20 20:42:39 +00:00
christos 12423e3e50 comment out unused code. 2017-03-20 18:19:34 +00:00
roy 3cd3ec3cb0 Put back filter(3) I mistakenly removed in r1.29 2017-03-20 10:20:16 +00:00
roy d837f94776 Note that typeahead(3) is no longer set to infd by default. 2017-02-17 11:23:21 +00:00
roy 0d7cbb25e8 Disable typeahead being set to infd by default as this seems to cause
refresh issues in nvi.
2017-02-17 11:18:38 +00:00
blymn 871cddc640 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.
2017-02-10 06:25:28 +00:00
roy 8dcd50a6a0 Move ESCDELAY to curses.c so all globals are close to each other.
Remove _reentrant and use ESCDELAY and TABSIZE as we're not really
reentrant.
2017-01-31 09:17:53 +00:00
roy 3c94ec04f2 Just return ERR instead of asserting if someone calls the slk routines
to affect the ripped off window before the window is actually ripped off.
2017-01-30 17:15:52 +00:00
roy 7487819a0b Check _cursesi_term is set in a few places and sprinkle some static. 2017-01-30 16:50:44 +00:00
roy 64b2ce979c If either set_escdelay(3) or set_tabsize(3) are called, set _reentrant
to ensure we use the saved value for the sceen.

This effectively makes ESCDELAY and TABSIZE read-only when either
of these functions are called.
2017-01-30 14:55:58 +00:00
roy 2ebbf64e54 Document baudrate(3). 2017-01-25 12:42:05 +00:00
roy 1899e6576b And more functions .... 2017-01-25 12:21:18 +00:00
roy 9ab26a1db5 Note the substantial work by others on the curses library. 2017-01-25 12:05:26 +00:00
roy cb39f3d94a Document recently added functions in curses.3 2017-01-25 12:00:57 +00:00
roy de49f4c9e2 Reference curses_slk(3). 2017-01-25 11:44:55 +00:00
roy a2ac1ce48c Implement POSIX Curses Soft Label Key functions. 2017-01-24 17:27:30 +00:00
roy 9d818e01f4 Note an issue with our cursor movement in 1 line size window. 2017-01-24 16:45:41 +00:00
roy 5952c1b776 Use the screen argument, not _cursesi_screen. 2017-01-12 16:23:46 +00:00
roy c77e1d014f Move the ripoffline logic out of screen.c and into ripoffline.c.
Store ripped off lines in the SCREEN structure so we can repaint then
when the terminal is resized.
Fix mvwin(3) so it can move windows in the ripped off area.
2017-01-11 20:43:03 +00:00
roy 295b0bfab7 Remove setup already done in newterm and even set_term. 2017-01-11 17:15:27 +00:00
roy 518bfd5577 Kill stray refs to __virtscr and _cursesi_screen missed in prior commit. 2017-01-11 10:06:32 +00:00
roy 019139adbd ripoffline requires wnoutrefresh to work before _cursesi_screen has been
set.
2017-01-11 09:54:54 +00:00
roy 98102593fe Use the window's screen's terminal. 2017-01-10 23:49:20 +00:00
roy cc74ade3a6 Fix resizing terms. 2017-01-10 23:28:45 +00:00
roy e56dac4e35 Use the terminal of the SCREEN of the WINDOW rather than cur_term
for window attribute functions.
2017-01-10 21:56:50 +00:00
roy 545dbcc586 When doupdate is called, check for typeahead input after N lines changed
instead of aborting really early.

This allows some screen update when holding the page down key for example.
2017-01-10 10:33:49 +00:00
roy 25445577c0 Implement POSIX curses function ripoffline(3). 2017-01-10 10:13:24 +00:00
roy 5714904ce2 Test for __ISPASTEOL when moving the cursor and it hasn't moved.
Unset __ISPASTEOL when moving the cursor during refresh.
2017-01-10 09:32:01 +00:00
blymn b3963fa60a Checks for bottom right corner were reversed. 2017-01-09 21:17:29 +00:00
wiz 65fa8d4547 Use more markup, sort ENVIRONMENT. 2017-01-08 13:49:21 +00:00
wiz 6811b22279 Whitespace fix, bump date for previous. 2017-01-08 13:49:05 +00:00
roy 84fe414e1f KNF 2017-01-06 14:25:41 +00:00
roy 9180469668 KNF 2017-01-06 14:06:00 +00:00
roy 50a63ac8d2 KNF.
Normalise coding style.
White space police.
Sprinkle some extra braces to make the flow more clear.

No functional changes.
2017-01-06 13:53:18 +00:00
roy 846cb8f380 u_int -> unsigned int, u_int32_t -> uint32_t. 2017-01-06 09:14:07 +00:00
roy 506f84ec9a Implement ncurses is_pad(3).
Correct documentation about is_keypad(3).
2017-01-05 23:15:43 +00:00
roy 433b66d936 Whitespace 2017-01-05 21:42:04 +00:00
roy 4550c5287c Implement is_term_resized and resize_term(3) ncurses extensions.
resizeterm(3) is now a wrapper for resize_term(3).
2017-01-05 21:25:17 +00:00
roy 47cc2fc353 Add the set_escdelay(3) and set_tabsize(3) ncurses extensions. 2017-01-05 20:31:37 +00:00
wiz e4ec469a39 Fix typo. 2017-01-05 12:35:41 +00:00
wiz 3134e606a6 Whitespace. 2017-01-05 09:46:32 +00:00
wiz 6e0a1cbf88 Use Ev for environment variables. 2017-01-05 09:46:08 +00:00
roy ffbd31d04d White space police 2017-01-04 03:51:29 +00:00
roy c293b9d8ca Allow C++ to link with all curses parts. 2017-01-04 02:05:23 +00:00
roy 5a86062c02 Add missing man pages for wsyncup.3 and wcursyncup.3 2017-01-03 13:21:40 +00:00
roy 8cf8e1d614 Support 256 colour terms.
From: rofl0r <retnyg@gmx.net>
2017-01-03 12:42:06 +00:00
roy 330e363652 Now that we have the initialize_color capability,
init_color can be made to work.

From: rofl0r <retnyg@gmx.net>
2017-01-03 12:39:44 +00:00
roy c247fb6646 Bump libcurses to 7.1 for prior additions. 2017-01-02 12:38:16 +00:00
roy 1369811d4e Implement POSIX Curses functions immedok(3) and syncok(3). 2017-01-02 10:28:34 +00:00
roy 4da08ba387 Whitespace 2017-01-02 08:44:12 +00:00
roy 6de5f0d137 Implement ncurses extension has_key. 2017-01-01 03:06:06 +00:00
roy a663bc11be Implement POSIX Curses typeahead function. 2016-12-31 22:47:01 +00:00
roy 77943ff6ed Implement POSIX curses use_env function. 2016-12-31 17:46:35 +00:00
roy 2ab1e31d80 Implement ncurses extensions is_leaveok and is_keypad.
The former allows the ncurses (and pdcurses) macros getsyx and setsyx
to be implemented, which is needed by a surprising number of applications.

The latter is needed for Python curses support so it doesn't have to dive
into ncurses window structure.
2016-12-31 13:50:16 +00:00
roy 1c3d328353 Add the POSIX filter() function to libcurses. 2016-12-30 22:38:38 +00:00
wiz 1e92e63851 Fix some prototypes. 2016-12-29 23:50:59 +00:00
christos 2b4d6aa5a1 fix placement of lint comment 2016-12-12 04:20:31 +00:00
blymn 4114d2610d Improve debug information. 2016-12-11 21:25:22 +00:00
christos 6d100a1021 PR/51673: Carsten Kunze: curses: standend() does not turn off A_BOLD;
according the X/Open it needs to turn off all attributes.
2016-11-29 17:33:48 +00:00
christos 56b8322bcc If we are inserting spaces to account for a tab, move the x position of the
cursor, otherwise this is a no-op (Carsten Kunze)
2016-11-28 18:25:26 +00:00
christos 50c795e166 don't coredump if we call endwin when initscr fails. 2016-11-24 14:49:08 +00:00
christos 59538e7ea4 It is expensive to open and close files for every printf, keep it around. 2016-10-23 21:20:56 +00:00
christos 8a48cf6610 remove bogus malloc casts 2016-10-22 21:55:06 +00:00
jdc b120305be0 Clear the "forced" flag after updating a line, otherwise we'll always do
complete line redraws.
2016-01-10 08:11:06 +00:00
jdc dfb25fd120 Remove extra new line in debugging output. 2016-01-09 19:05:13 +00:00
jdc 210cd3d8d9 Display force flag in debug print. 2016-01-07 07:37:08 +00:00
jdc 3c6f106b95 Add missing new line in debug print. 2016-01-07 07:36:35 +00:00
christos 600fe0a3fe fix memory leaks (from Rin Okuyama) 2015-11-26 01:05:08 +00:00
christos 7099a15c75 PR/50092: don't leak screen on multiple setterms. 2015-11-24 01:59:32 +00:00
kamil 43589aae40 Note to update major of libpanel(3) for new major of curses(3) 2015-11-22 04:56:00 +00:00
uwe 3ae7b58008 Fix x/y edito. 2015-10-17 00:35:25 +00:00
joerg fb99f8156a mvgetnstr should have a length argument as the name implies. 2015-06-08 12:38:57 +00:00
wiz 18ac899793 Fix quoting in macro.
Needed by dialog-1.2-20150513.
2015-05-28 06:28:37 +00:00
christos dbad683e58 Use TOOL_VFONTEDPR 2014-07-15 13:27:58 +00:00
christos bba6cf07e1 stopgap for non-netbsd build. 2014-07-15 11:19:08 +00:00
blymn 0241cad29d Remove bogus length check - SUSV2 says add(n)str wraps and performs
special character processing so we should not be trying to limit the
length to the screen edge.  This partially fixes PR 48827, the test case
works now.
2014-07-13 01:58:08 +00:00
dholland efe0bd4dbe Remove stray .if make(insatll).
I would really like to know why this didn't fail the clean build I ran
last night.
2014-07-05 22:31:32 +00:00
dholland b7b7574d3b Reorg docs, part 1:
Move all the reference manuals to subdirs of /usr/share/doc/reference.
We have subdirs ref1-ref9, corresponding to man page sections 1-9.

Everything that's the reference manual for a program (sections 1, 6,
8), C interface (sections 2, 3), driver or file system (section 4),
format or configuration (section 5), or kernel internal interface
(section 9) belongs in here.

Section 7 is a little less clear: some things that might go in section
7 if they were a man page aren't really reference manuals. So I'm only
putting things in reference section 7 that are (to me) clearly
reference material, rather than e.g. tutorials, guides, FAQs, etc.
This obviously leaves some room for debate, especially without first
editing the docs with this distinction in mind, but if people hate
what I've done things can always be moved again.

Note also that while roff macro man pages traditionally go in section
7, I have put all the roff documentation (macros, tools, etc.) in one
place in reference/ref1/roff. This will make it easier to find and
also easier to edit it into some kind of coherent form.
2014-07-05 19:22:41 +00:00
dholland c3ab26950f Rework /usr/share/doc.
Update the <bsd.doc.mk> infrastructure, and update the docs to match
the new infrastructure.

- Build and install text, ps, pdf, and/or html, not roff sources.

- Don't wire the chapter numbers into the build system, or use them in
the installed pathnames. This didn't matter much when the docs were a
museum, but now that we're theoretically going to start maintaining
them again, we're going to add and remove documents periodically and
having the chapter numbers baked in creates a lot of thrashing for no
purpose.

- Specify the document name explicitly, rather than implicitly in a
path. Use this name (instead of other random strings) as the name
of the installed files.

- Specify the document section, which is the subdirectory of
/usr/share/doc to install into.

- Allow multiple subdocuments. (That is, multiple documents in one
output directory.)

- Enumerate the .png files groff emits along with html so they can be
installed.

- Remove assorted hand-rolled rules for running roff and roff widgetry
and add enough variable settings to make these unnecessary. This
includes support for
   - explicit use of soelim
   - refer
   - tbl
   - pic
   - eqn

- Forcibly apply at least minimal amounts of sanity to certain
autogenerated roff files.

- Don't exclude USD.doc, SMM.doc, and PSD.doc directories from the
build, as they now actually do stuff.

Note: currently we can't generate pdf. This turns out to be a
nontrivial problem with no immediate solution forthcoming. So for now,
as a workaround, install compressed .ps as the printable form.
2014-07-05 19:22:02 +00:00
mrg 26f35dd6b6 remove the build support for GCC 4.1, and any hacks i found for it.
there could still be more -- i only looked for lines matching
both "HAVE_GCC" and "4" as words (grep -w.)
2014-06-13 01:17:45 +00:00
abs 0b3334d19a Add workaround for lib/48827 for vax to avoid segv in sysinst for now 2014-05-21 14:01:30 +00:00
blymn 0d7a04cd28 Fix reversed logic in the notimeout call.
Fix obsolete email addresses in copyright.
2014-02-28 07:58:42 +00:00
blymn 74ff043f96 Correct the implementation of mvderwin, it now works as specified by
SUSv2.
2014-02-20 09:42:42 +00:00
blymn d345484675 Make the touch family of calls actually force an update of the
terminal bypassing optimisations.  Previously if curses thought curscr
was in sync with virtscr (curses concept of what is on the screen) then
nothing would be output.  This change forces an update out to the terminal
regardless.
2013-12-06 11:23:47 +00:00
christos 5fe8b8f1c1 remove unused variable 2013-11-10 03:14:16 +00:00
blymn 69b405aa23 Rename the old __waddbytes function to _cursesi_waddbytes and add a
parameter that controls whether or not certain characters in the
string are interpreted or not (things like tab being expanded).

Make __waddbytes a wrapper for _cursesi_waddbytes that passes all
parameters and sets the flag for character interpretation for backward
compatibility.

Fix an incipient bug in _cursesi_waddbytes where garbage would have
been written to the terminal if the terminal TABSIZE was set > 8 and
character interpretation is on.

Convert all internal __waddbytes calls to use _cursesi_waddbytes, fix
the function prototypes and add a new flag that will be used later.

Fix the addchstr family functions so that they call _cursesi_waddbytes
with character interpretation off as per SUSV2.
2013-11-09 11:16:59 +00:00
christos cbdcb619b0 fix unused warnings 2013-10-18 19:53:59 +00:00
roy 2e2213ef89 Add TABSIZE, which is derived from terminfo init_tabs.
Use this when processing \t.
If TABSIZE is set in the environment, this takes precedence.
2013-10-16 19:59:29 +00:00
roy 0f3cb8baf7 Define WA_NORMAL 2013-10-16 12:43:35 +00:00
roy f8157294d8 Note that delwin(3) is a null-op if win is NULL. 2013-10-15 22:15:17 +00:00
christos 8fd1aec131 Instead of turning off the 8th bit on resume, turn it on, as it is on by
default. Problem reported by atatat@ when suspending vi and resuming loses
the ability to use the alt key.
2013-10-15 13:00:52 +00:00
blymn 873b5b8698 Use the internal version of touchline to update the line. 2013-10-01 11:41:14 +00:00
dsainty 8ed5bc1d62 Fix a NULL dereference if the exit_alt_charset_mode capability is not defined.
The previous version of this file changed a terminal initialisation test on
the exit_attribute_mode capability, checking for the exit_alt_charset_mode
capability as a substring, rather than performing a search for the hard-coded
^O character.

That works better on terminals where ^O is not the correct value for
exit_alt_charset_mode.  But it works worse on terminals that don't have a
definition specified for exit_alt_charset_mode.

For example:

% TERMCAP='xterm:me=\E[m:' TERM=xterm vi
segmentation fault (core dumped)  TERMCAP='xterm:me=\E[m:' TERM=xterm vi

The crash can be avoided (without fixing the bug) by defining
exit_alt_charset_mode:

% TERMCAP='xterm|:me=\E[m:ae=:' TERM=xterm vi
ex/vi: Error: xterm: No such process

We now test exit_alt_charset_mode for NULL before continuing with the fatal
test, restoring the original no-crash behaviour.

XXX does_ctrl_o() is now just a naive reimplementation of strstr(), so should
probably just use strstr() instead.
2013-09-25 03:28:20 +00:00
jdc b29886d4e9 Extend does_ctrl_o() to compare exit attribute and ext ACS sequences. 2013-05-05 14:24:05 +00:00
jdc cab30aac1c Also merge in background attributes. 2013-05-05 14:23:16 +00:00
jdc 80b874e08a Add extra debugging when copying window contents. 2013-05-05 14:22:07 +00:00
blymn 9c95b63f3b Don't wrap added string 2012-09-28 06:07:05 +00:00
blymn 4278f32774 Add more debug to mvchgat. 2012-09-28 06:05:19 +00:00
blymn 5c41471666 Correct behaviour of mvderwin(). It should remap a given area of the parent
window not move a derived window as it was before.
2012-09-28 06:03:45 +00:00
blymn 1aa7cc3dc3 Truncate string to RHS of the window - SUSv2 says we should. 2012-09-28 06:00:39 +00:00
blymn 74bbb55e87 * Size argument for memset when clearing cbuf was wrong, cbuf is an array
of char not int so memset was stomping memory past the end of the array.
  Use sizeof properly to correctly determine the amount of memory to clear.
2012-06-29 10:40:29 +00:00
agc 1a27c54f9a re-work the previous to make it format correctly 2012-05-02 04:23:09 +00:00
agc 142f8d12eb document the correct argument to wstandout(3) and wstandend(3) 2012-05-01 17:32:58 +00:00
roy 27c1dc0dc5 Fix build 2012-04-21 14:39:35 +00:00
roy 258cf0abec Add capfile(5) to describe the termcap format.
Adjust various man pages and other documentation to point to capfile(5)
instead of termcap(5).
Remove getcap(3) as curses hasn't been building it for a long time.
Punt wrterm.c as tset no longer uses it.
2012-04-21 12:27:24 +00:00
blymn 35253f4b16 Fix build break if curses is built without wide char support 2012-04-21 11:33:16 +00:00
blymn 0f995dfd31 Remove trailing whitespace 2012-04-21 11:31:59 +00:00
christos 8aaa635ed5 PR/46049: Tim van der Molen:
clrtobot() and clrtoeol() do not set background attributes
2012-02-19 19:38:13 +00:00
christos b76235fd7a handle the case where we have no space properly (Nat Sloss) 2012-01-27 15:37:09 +00:00
christos acd0d5274c PR/45791: Nat Sloss: getnstr erase character weirdness
Fix processing of backspace erase char and char left.
2012-01-06 22:20:54 +00:00
roy 64afaacce6 Move longname(3) from curses to terminfo, pre-cursor to fix PR/43386. 2011-10-04 11:01:13 +00:00
roy 4060cbcd0c Use tiparm instead of vtparm. 2011-10-03 12:32:15 +00:00
wiz 72e0f90c3f Remove trailing whitespace. Bump date for previous. 2011-09-15 12:01:18 +00:00
blymn d3c541783a - Make mvderwin work as per the SUSv2 specification and other curses
implementations.
2011-09-15 11:58:05 +00:00
christos ef87b14708 Fix for systems that don't have TCSASOFT as intended originally. Simplify. 2011-08-29 11:07:38 +00:00
wiz 495abc41ce Add serial comma, remove trailing whitespace, bump date for previous. 2011-08-07 11:37:06 +00:00
blymn f23e1d9ef1 Merge the attributes into the returned characters. 2011-08-07 10:57:10 +00:00
blymn 9202e9d5c9 Document the return values for innstr and friends. 2011-08-07 10:55:59 +00:00
blymn 27325b933f Fix a bug that prevented instr and friends returning OK. 2011-08-07 10:54:53 +00:00
blymn 12654ca858 flush the output after writing the meta sequence. 2011-08-07 10:52:18 +00:00
joerg 3eb244d801 Retire varargs.h support. Move machine/stdarg.h logic into MI
sys/stdarg.h and expect compiler to provide proper builtins, defaulting
to the GCC interface. lint still has a special fallback.
Reduce abuse of _BSD_VA_LIST_ by defining __va_list by default and
derive va_list as required by standards.
2011-07-17 20:54:30 +00:00
blymn 83d6403d6e Set the background attributes when erasing. 2011-07-10 12:11:49 +00:00
joerg b341a73a57 Fix memset usage. 2011-07-01 01:19:33 +00:00
jdc f18c34f949 Correctly test for __ISDIRTY.
Problem noticed by (and test case provided by) blymn@.
2011-06-16 22:45:46 +00:00
blymn e0662f42c2 Fix deleting a key definition, it did not work. Also improve tracing
of key definition deletion.
2011-04-21 08:10:49 +00:00
jruoho 6e3ec5b1a3 Fix PR # 41894. 2011-04-06 08:38:43 +00:00
blymn eff7afe2e8 Add man page link for define_key 2011-04-04 10:32:04 +00:00
blymn 3da4a766de fflush the outfd after setting the cursor visibility so it takes effect
immediately.
2011-03-30 09:47:02 +00:00
blymn 01cc4b6151 Fix typo. 2011-02-10 08:54:12 +00:00
blymn 0a965fa7ed Back out change for assume_default_colors as it was not correct. 2011-01-06 11:29:40 +00:00
blymn bcc3426f98 Little bit more debug information. 2010-12-25 10:08:20 +00:00
blymn 58f5b3b32b Ignore request to change the values of colour pair 0
Explicitly set foreground and/or background colours when -1 is passed
to assume_default_colors()
2010-12-25 10:05:08 +00:00
blymn 0ddf818977 Allow attributes to be applied to the default line drawing characters
by just passing attributes as arguments to the wborder call.
2010-12-25 09:59:52 +00:00
wiz 3d3c5d42cb Observe the following spelling:
- wide character (noun)
- wide-character (adjective)

Inspired by jmc@OpenBSD.
2010-12-16 17:42:25 +00:00
njoly a2a0aef6cd s/curses_fileo/curses_fileio/ in xrefs. 2010-12-09 13:26:27 +00:00
njoly b0b35bdc77 Add missing space in fread xref. 2010-12-09 11:21:49 +00:00
joerg bd9a53cf30 Since limit and l are both unsigned, comparing to 0 doesn't work, so compare
the values directly.
2010-12-07 22:02:52 +00:00
tnozaki 115137ad39 to initialize mbstate_t, use memset instead mbrtowc. 2010-11-23 05:38:35 +00:00
blymn eb6f26d7ad Don't echo key symbols. 2010-11-05 11:38:54 +00:00
dholland de3d24d6c6 avoid writing in parseltongue 2010-08-06 04:03:26 +00:00
dholland 4bded2208d After consultation with jdc@, apply the patch from PR 42412 even though
the crash went away -- it's not clear that it went away for any reason
besides by accident.

The change is: use calloc instead of malloc for allocating SCREENs.
2010-06-10 05:24:55 +00:00
drochner 90f3894847 fix wrong widechar assignment for "up arrow" 2010-02-25 10:56:24 +00:00
drochner d32fd438b1 document wsyncup/wsyncdown/wcursyncup 2010-02-24 13:02:13 +00:00
drochner 452834f264 misc fixes and improvements:
-call setlocale(LC_CTYPE, "") before nl_langinfo(CODESET) if the
 locale settings is (still) at "C" - otherwise the CODESET doesn't work
-fix the type of the WACS_* symbols -- this needs to be cchar_t*
-add safeguards where the return value of wcwidth() is used for
 loop counters or indexing -- it can be -1
-use more common code in the widechar support case -- in particular
 let the wchar functions do the work even if chtype ones were called
-implement wcursyncup/wsyncup/wsyncdown
-somewhat experimental: allow ACS_* variables to refer to WACS_*
 table entries -- this way, programs using the old chtype using API
 can use UTF8 line drawing on terminals which support UTF8 but not
 ACS switching
-fix some logics bugs in UTF8 recognition and ALTCHARSET handling
2010-02-23 19:48:26 +00:00
wiz 66c83b53c8 Bump date for previous. 2010-02-20 10:23:04 +00:00
drochner f138ed81f2 explain a non-portable behavior 2010-02-19 19:09:15 +00:00
roy 1bc5794aa0 Change from scroll_forward to cursor_down.
cursor_down is more similar to our old termcap use of nl.
Fixes PR lib/42770.
2010-02-12 10:06:15 +00:00
roy 582936ff0d Don't assume the terminal has a description. 2010-02-11 11:45:47 +00:00
roy a017e721b1 Fix an off-by-one error.
Thanks to Matthias Drochner.
2010-02-08 20:45:22 +00:00
roy 98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
dsl ef7eea8bfd Read input from the correct FILE. 2009-11-04 21:51:11 +00:00
dsl bc1d032082 Round timeout values up.
More importantly convert 1..99 to 1, not 0.
2009-11-04 21:24:57 +00:00
dsl 905b39a994 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.
2009-11-01 22:11:27 +00:00
jdc 7ffe6d60fa Return the same information whether or not we have wide characters.
Problem pointed out by Rhialto on current-users.
2009-10-06 20:03:27 +00:00
christos 304c3bd293 fix debugging build. Hi Roy! 2009-07-28 18:38:43 +00:00
roy 43d5eb454b 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.
2009-07-22 16:57:14 +00:00
wiz 27f99b53d5 Add RCS Id. Fill in name in license. New sentence, new line.
Add comma in enumeration.
2009-07-12 23:14:06 +00:00
wiz 1a280fda0f Bump date for *chgat*. 2009-07-12 23:12:40 +00:00
joerg a8766915af Ensure that y,x are valid coordinates before using them. 2009-07-09 22:08:45 +00:00
joerg 2a64051b50 Be strict on xcurses support:
- Do not perform wrapping at all by setting the line flags.
- Do not alter the cursor position, even for mv(w)chgat.
2009-07-07 13:10:02 +00:00
joerg ba2ae25781 chgat() and friends are in X/Open. Noticed by Thomas Dickey. 2009-07-07 11:53:43 +00:00
joerg eadfd2731f Add vw_printw and vw_scanw as mandated by SUSv2's xcurses. Follow
ncurses and just make the historic vwprintw and vwscanw functions
aliases, ignoring that they should take a varargs.h va_list argument.
2009-07-07 10:16:52 +00:00
joerg 32e50f68cc Use __printflike/__scanflike. 2009-07-07 09:58:08 +00:00
joerg 1e5025e496 Add support for the chgat(3) family. It is a useful extension from
ncurses, supporting it dramatically reduces the need for ncurses in
pkgsrc.
2009-07-06 15:19:49 +00:00
wiz 85d294df1c Sort SEE ALSO. New sentence, new line. 2009-05-18 09:30:31 +00:00
christos 3b75967235 make fileio.h work with objdir. 2009-04-06 00:48:19 +00:00
christos b10afc8344 regen 2009-04-06 00:48:04 +00:00
cube 7ad46619fb Make keypad return an int instead of nothing, as the SUS and even
curses_input(3) [!] say it should.

OK'd jdc@.  ABI lawyers say this doesn't need major bump.
2009-04-01 20:59:15 +00:00
wiz 047cc3e3f6 Sort sections. 2009-02-23 08:27:13 +00:00
christos 4534498c64 Get the ESCDELAY from the environment. 2009-02-22 20:05:48 +00:00
christos 58e089a802 Document curses environment variables. 2009-02-22 20:04:21 +00:00
jdc 145a912cc9 Fix bug where a single ESC was not recognised when in keypad() mode.
Noticed by abs@.
2009-02-09 12:45:59 +00:00
christos 099cac49ad fix debugging build. 2009-01-17 15:25:36 +00:00
christos 46edb91e9f bump shared libraries. 2009-01-11 03:07:47 +00:00
apb 8a9d9ec446 s/AWK/TOOL_AWK/. Problem reported by Greg Oster. 2008-10-27 20:56:28 +00:00
tnozaki 97d29a42cd add workaround for PR/39175(Curses regression causes disoptimal and
confusing output), act as rev1.25 does when wcwidth == 1.
2008-07-23 13:32:41 +00:00
tnozaki c71a9f1dad use mbrtowc() instead of mbtowc(). 2008-07-04 16:52:10 +00:00
tnozaki b29240a183 use nl_langinfo(CODESET) instead of setlocale(LC_ALL, ""). 2008-07-04 16:24:45 +00:00
tnozaki c1cfc49998 fix cursor position problem with the character wcwidth > 1.
discussed in tech-userlevel, ok'ed by jdc@ thanks!
2008-07-04 15:51:35 +00:00
yamt 2233bf3229 remove unnecessary casts. 2008-06-13 03:18:04 +00:00
yamt 60683edb0f avoid c99 on DEBUG. 2008-06-13 03:15:50 +00:00
christos ea988594e2 Coverity CID 5024: Fix double free on error path. 2008-05-24 16:37:49 +00:00
tsutsui d4fd069bec Use WARNS=2, which just works. 2008-05-13 15:27:30 +00:00
martin ca37ecd7b6 Move to 2 clause TNF license (was: strange 3 clause version) 2008-05-02 11:13:02 +00:00
martin 11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
jdc 017de4a670 Revert the scrolling region change from revision 1.18, as this breaks (at
least) mutt:

  Only change the scrolling region if the window now has fewer rows.
2008-04-29 17:46:39 +00:00
martin 3028e483e4 Convert to new 2 clause license 2008-04-29 06:53:00 +00:00
martin ce099b4099 Remove clause 3 and 4 from TNF licenses 2008-04-28 20:22:51 +00:00
tsutsui f244f3d606 Use WARNS=1 rather than adding warning options to COPTS.
Tested on several MACHINE_ARCHs.
2008-04-27 03:14:59 +00:00
tsutsui c007028e0b Enable gcc optimization on m68000 (sun2) again with minimum hacks.
gcc -O0 generates a bit fat binaries.
2008-04-27 03:06:46 +00:00
jdc e78f48a7d8 Add getwin and putwin mlinks. 2008-04-15 18:27:01 +00:00
jdc a5d694a48c Remove unused BUGS section header. 2008-04-14 21:29:30 +00:00
jdc 9614bd680e Cross reference curses_fileio(3).
Bump date.
2008-04-14 21:26:16 +00:00
jdc 51d1151ffe Document termattrs(), term_attrs(), putwin() and getwin() 2008-04-14 20:41:34 +00:00
jdc e4b4dc6765 Add new file IO functions.
Define DISABLE_WCHAR, so that we can build without HAVE_WCHAR.
2008-04-14 20:41:17 +00:00
jdc b93705abe5 Add new file IO functions. 2008-04-14 20:40:53 +00:00
jdc e501372810 File IO functions header file. 2008-04-14 20:40:37 +00:00
jdc 6dbdc40c87 Increment minor for getwin()/putwin() addition.
Document fileio.h regeneration.
2008-04-14 20:39:58 +00:00
jdc 4c71b79a6f File IO functions getwin() and putwin().
Should fix PR lib/24928.
2008-04-14 20:38:45 +00:00
jdc d5966065f3 Header (fileio.h) generation script for file IO functions. 2008-04-14 20:35:23 +00:00
jdc 4dd5a997bc Add FILEIO ctrace definition.
Remove unneeded function.
2008-04-14 20:34:36 +00:00
jdc 619b7f0eeb Make this compile when HAVE_WCHAR is not defined. 2008-04-14 20:33:59 +00:00
jdc 5b4df340df Remove unused code.
Only change the scrolling region if the window now has fewer rows.
2008-04-14 20:33:41 +00:00
jdc dfc45432ab Make __subwin() static. 2008-04-14 20:33:15 +00:00
jdc e44c226e62 Add extra debugging information. 2008-04-14 20:32:53 +00:00
jdc afd69f437c Make this compile when HAVE_WCHAR is not defined. 2008-04-14 19:46:42 +00:00
jdc 35ce34ed43 Don't define HAVE_WCHAR if DISABLE_WCHAR is defined.
Pointed out by martin@.
2008-03-24 16:57:28 +00:00
jdc 915ba4ba52 Increment libcurses minor version (termattrs() and term_attrs() added). 2008-03-21 13:43:36 +00:00
jdc 805ac24bda Add termattrs() and term_attrs().
Order the descriptions so that functions handling normal and functions
handling wide attributes are grouped together.
2008-03-21 13:43:17 +00:00
jdc 1ac1993d5c Add termattrs() and term_attrs(). 2008-03-21 13:42:50 +00:00
jdc 56a23c4b24 Add termattrs() and term_attrs().
Conditionally define HAVE_WCHAR, so that userland programs can see wide
definitions and functions.
2008-03-21 13:42:39 +00:00
jdc 80b229386d Add termattrs() and term_attrs() (requested by wiz@).
Only allow standout and underline if the terminal can do them.
2008-03-21 13:41:49 +00:00
mrg b757a71702 only use -Wuninitialized with -O>0. 2008-02-09 02:36:12 +00:00
jdc 7cc6075b0e Keep pushed-back characters locally. Fixes problems where KEY_* symbols
are pushed back.  Should fix the arrow keys part of PR pkg/37173.

While we are here, make getch() and get_wch() check for resize immediately,
instead of reading a key, checking for resize and then having to push-back
the just read key.
2007-12-08 18:38:11 +00:00
jdc ca32a8e578 We don't need to call __init_getch here, as it is called from
screen.c:newterm().
2007-11-18 10:01:04 +00:00
jdc 194f45e187 Fix the handling for added carriage return characters.
Should fix the "staircase effect" part of PR 36560.
2007-11-08 06:42:22 +00:00
jdc 55f0d59917 Make sure we copy the relevant cell (and not the first cell) for
each line that we copy.

We also need to touch the destination window here.

Fixes display bug in atc(6).  Bug reported by and fix tested by
David Holland.
2007-11-08 06:39:31 +00:00
jdc 52cd399dde Make sure we don't shrink windows or sub-windows so that they end up
with zero length or height.
2007-11-08 06:34:34 +00:00
jdc c4eef94666 Only resize curscr, __virtscr and stdscr when the screen is resized.
Note the behaviour of sub-windows when the parent window is resized.

Fixes PR pkg/37129.
2007-10-25 20:42:07 +00:00
jdc 542a57c041 Return "-1" for unknown keys and only return NULL for errors.
Make the key name string a static buffer.  The specification allows this,
so the previous behaviour would leak a small amount of memory, as the
application wouldn't free the returned string.

Fixes one part of PR pkg/37062.
2007-10-25 20:32:40 +00:00
martin 167a3a9d68 Make it build without HAVE_WCHAR 2007-10-06 20:14:41 +00:00
martin b3fd7f365b Make the non-WCHAR variant compilable. 2007-10-06 18:31:33 +00:00
jdc fe324c36e9 Set the column width when changing the background using wbkgd(), otherwise
we will see zero width characters in refresh.c:makech().
2007-09-19 22:13:14 +00:00
jdc 260ad27047 We don't need separate #ifdef's for __ALTCHARSET and WA_ALTCHARSET, as they
are defined to be the same in curses.h.
2007-09-19 22:00:43 +00:00
jdc c172664803 Add debugging for the WCHAR cases. 2007-09-19 21:59:37 +00:00
blymn 2b4f2c9caf Fix a crash caused by having a single NULL character as a string capability.
This fix is about the best we can do given the current interfaces. We
could extend the cgetcap(3) interfaces with a function that would return
a character count and handle this in libterm which would provide a more
complete fix and allow a NULL character in a string capability.
2007-08-28 12:28:18 +00:00
jdc 34bea28655 Fix resizing bug where the values of LINES and/or COLS changed while we
were resizing windows, leading to inconsistencies between the sizes of
stdscr and curscr.

Should fix the curses part of PR lib/36702.
2007-08-27 19:54:29 +00:00
jdc a39089a88a Add KEY_RESIZE.
Fix use after free().
2007-08-04 08:36:49 +00:00
wiz ab6c3b4502 Use HTML escapes. Use Ss for subsection. Correct date. 2007-07-15 21:37:55 +00:00
jdc 7e0bb0168c Emphasise `ncurses'. 2007-07-13 11:16:11 +00:00
jdc 05ea77093a Note that the additional characters are for ncurses compatibility.
Pointed out by Thomas Dickey.
2007-07-13 11:15:33 +00:00
jdc f0b4a51625 Document line drawing and graphics characters. 2007-07-11 18:45:40 +00:00
jdc 65f3606f46 Add additional line drawing and characters.
Pointed out by pooka@.
2007-07-11 18:44:46 +00:00
xtraeme 42154df31a Do not typedef bool as char, just include stdbool.h. Fixes a build
failure with regress/include/okheaders.

Suggestion by mlelstv@ and ok by blymn@.
2007-07-01 10:53:59 +00:00
veego e4f44a55a6 Fix compile errors on i386 by changing %ld to %zu. 2007-05-29 19:07:19 +00:00
blymn eaa84a63c0 Change debug handling, now we write debug out iff CURSES_TRACE_FILE
has been set in the environment, this prevents people using MKDEBUGLIB
getting more than they bargained for.

Tidied up the debug settings in the Makefile to reflect the above change,
we no longer need to have FULL_DEBUG since nothing is written by default.
2007-05-29 13:20:21 +00:00
blymn 070937be37 Fix some compiler warnings.
Remove shadowed variable declarations when DEBUG is defined.
2007-05-29 11:10:55 +00:00
blymn e124de36d8 Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.
2007-05-28 15:01:53 +00:00