+ update ncurses/wcwidth.c, for MinGW ports, from xterm.
+ trim obsolete comment about tack from INSTALL.
- Announcing ncurses 6.4
+ Announcing ncurses 6.5
Overview
Release Notes
- These notes are for ncurses 6.4, released December 31, 2022.
+ These notes are for ncurses 6.5, released April 27, 2024.
This release is designed to be source-compatible with ncurses 5.0
- through 6.3; providing extensions to the application binary interface
+ through 6.4; providing extensions to the application binary interface
(ABI). Although the source can still be configured to support the
ncurses 5 ABI, the reason for the release is to reflect improvements
to the ncurses 6 ABI and the supporting utility programs.
The most important bug-fixes/improvements dealt with robustness
issues. The release notes also mention some other bug-fixes, but are
focused on new features and improvements to existing features since
- ncurses 6.3 release.
+ ncurses 6.4 release.
Library improvements
New features
- There are no new features in this release.
+ These are new features:
+ * The low-level terminfo and termcap interfaces are used both by the
+ higher-level curses library, as well as by many applications.
+ The functions which convert parameterized terminal capability
+ strings for output to the terminal (tiparm and tparm) analyze the
+ capability string to determine which parameters are strings (i.e.,
+ addresses), versus numbers (not addresses).
+ The library's analysis of a capability string may differ from the
+ calling application's design if environment variables are used to
+ point to an invalid terminal database. This is a longstanding
+ problem with all implementations of terminfo, dating from the
+ early 1980s.
+ Two new functions address this problem: by providing a function
+ which allows the calling application to tell ncurses how many
+ string-parameters to expect:
+ + tiscan_s helps applications check formatting capabilities
+ that would be passed to tiparm_s.
+ + tiparm_s provides applications a way to tell ncurses what the
+ expected parameters are for a capability.
+ * The ncurses library supports a compile-time feature (enabled with
+ the configure --enable-check-size option) which simplifies
+ initialization with terminals which do not negotiate window
+ (screen) size. This is done in setupterm, by providing for using
+ ANSI cursor-position report (in user6/user7 terminfo capabilities)
+ to obtain the screen size if neither environment variables or
+ ioctl is used.
+ The ncurses test-program with options "-E -T" demonstrates this
+ feature.
+ * add functions to query tty-flags in SCREEN
+
+ This release drops compatibility with obsolete versions of tack, e.g.,
+ pre-1.08
Other improvements
These are improvements to existing features:
- * modify delscreen to more effectively delete all windows on the
- given screen.
- * modify wnoutrefresh to call pnoutrefresh if its parameter is a
- pad, rather than treating it as an error, and modify new_panel to
- permit its window-parameter to be a pad
- * modify curses_trace() to show the trace-mask as symbols, e.g.,
- TRACE_ORDINARY, DEBUG_LEVEL(3).
- * improve checks for valid mouse events when an intermediate mouse
- state is not part of the mousemask specified by the caller
- * allow extended-color number in opts parameter of wattr_on.
- * improve _tracecchar_t2 formatting of base+combining character.
- * trim out some unwanted linker options from ncurses*config and .pc
- files seen in Fedora 36+.
- * improve shell-scripts with shellcheck
- * improve use of "trap" in shell scripts, using a script.
- * modify make-tar.sh scripts to make timestamps more predictable.
+ * In addition to the new, safer function tiparm_s, ncurses adds
+ checks to make the older tiparm, tparm and tgoto functions safer:
+ + the terminfo functions tiparm and tparm ensure that the
+ capability string comes from the terminal description which
+ ncurses loads, rather than from random data which the
+ application happens to have.
+ + the tgoto function disallows capabilities which its analysis
+ shows will attempt to use string parameters.
+ + ncurses uses internal functions which correspond to tiparm,
+ and tgoto which ensure that the capability strings which are
+ passed to these functions come from the loaded terminal
+ description.
+ * improve check in lib_tparm.c, ensuring that a char* fits into a
+ TPARM_ARG
+ * modify _nc_syserr_abort to use _nc_env_access, rather than only
+ checking root uid
+ * improve thread lock in lib_trace.c
+ * modify flushinp to use file descriptors in SCREEN, rather than
+ from TERMINAL, and check if they are for a terminal, like SVr4
+ * modify mcprint to use file descriptor in SCREEN, for consistency
+ * modify internal function _nc_read_file_entry to show relevant
+ filename in warnings
+ * improve checks in internal function convert_string for corrupt
+ terminfo entry
+ * review/improve handling of out-of-memory conditions
+ * limit delays to 30 seconds, i.e., padding delays in terminfo, as
+ well as napms and delay_output functions
+ * fix reallocation loop for vsnprintf in _nc_sprintf_string by
+ copying the va_list variable
+ * modify delscreen to limit the windows which it creates to just
+ those associated with the screen
+ * modify endwin to return an error if it is called again without an
+ intervening screen update
+ * modify wenclose to handle pads
+ * eliminate use of PATH_MAX in lib_trace.c
+ * provide for any CCHARW_MAX greater than 1
These are corrections to existing features:
- * modify misc/gen-pkgconfig.in to allow for the case where the
- library directory does not yet exist, since this is processed
- before doing an install
- * set trailing null on string passed from winsnstr to wins_nwstr.
- * modify waddch_literal to allow for double-width base character
- when merging a combining character
+ * correct loop termination condition in waddnstr and waddnwstr
+ * improve parsing in internal function _nc_msec_cost, allowing a
+ single decimal point
+ * amend parameter check for entire string versus specific length in
+ winsnstr and wins_nwstr to match Solaris; make similar correction
+ to wins_nwstr
+ * correct internal function wadd_wch_literal when adding a
+ non-spacing character to a double-width character
+ * correct definition of Charable macro for non-wide ncurses library
+ .
Program improvements
- Several improvements were made to the utility programs:
+ Several improvements were made to the utility programs. Some were done
+ to make the infocmp option "-u" option help refactor the terminal
+ database.
infocmp
- + rewrite canonical_name function of infocmp to ensure buffer
- size
- + improve readability of long parameterized expressions with
- the infocmp "-f" option by allowing split before a "%p"
- marker.
- + modify verbose-option of infocmp, tic, toe to enable
- debug-tracing if that is configured.
-
- tabs
- limit tab-stop values to max-columns
+ + add limit checks for processing extended capabilities with
+ the "-u" option
+ + correct initial alignment of extended capabilities, so that
+ the "-u" option can be used for more than two terminal types
+ + modify "-u" option to not report cancels for strings which
+ were already cancelled in a use'd chunk.
+ + correct an assignment "-u" for detecting if a boolean is
+ unset in a base entry and set in a use'd chunk, i.e., if it
+ was cancelled.
tic
- add consistency check in tic for u6/u7/u8/u9 and NQ
- capabilities.
- tput
- corrected use of original tty-modes in init/reset subcommands
+ + correct limit-check when dumping tc/use clause via "-I"
+ + check return value of _nc_save_str, in special case where
+ extended capabilities are processed but the terminal
+ description was not initialized
+ + modify check for multiply defined aliases to report problems
+ within the current runtime rather than for conflicts with
+ pre-existing terminal descriptions.
+ + disallow using $TERMINFO or $HOME/.terminfo when "-o" option
+ is used
+
+ tput and tset
+
+ + add "-v" option to tput, to show warnings
+ + modify reset command to avoid altering clocal if the terminal
+ uses a modem
+ + modify reset feature to avoid 1-second sleep if running in a
+ pseudo-terminal
Examples
Along with the library and utilities, improvements were made to the
- ncurses-examples. Most of this activity aimed at improving the
- test-packages:
- * add minimal -h (usage) and -V (version) getopt logic to all
- ncurses-examples programs.
- * fix an error in "@" command in test/ncurses.c F-menu
- * add curses_trace to ifdef's for START_TRACE in test/test.priv.h
- * improve pthread-configuration for test/worm.c
- * add setlocale call to several test-programs.
- * workaround in test/picsmap.c for use of floating point for rgb
- values by ImageMagick 6.9.11, which appears to use the wrong upper
- limit.
- * use static libraries for AdaCurses test-package for Mageia, since
- no gprbuild package is available.
- * install Ada95 sample programs in libexecdir, adding a wrapper
- script to invoke those.
- * install ncurses-examples programs in libexecdir, adding a wrapper
- script to invoke those.
-
- There are other new demo/test programs and reusable examples:
-
- test/combine
- demonstrate combining characters
-
- test/test_delwin
- demonstrate deleting a window
-
- test/test_mouse
- observe mouse events in the raw terminal or parsed ncurses
- modes
-
- test/test_unget_wch
- demonstrate the unget_wch and unget functions
+ ncurses-examples:
+ * modify test_tparm to account for extended capabilities
+ * corrected mouse mask in test/testcurs.c
+ * modify test/clip_printw.c to optionally test non-wrapped updates
+ * modify test/test_mouse.c to use curses api for raw/noraw
+ * modify test/clip_printw.c to optionally test non-wrapped updates
+
+ There is one new demo/test programs:
+
+ test/test_endwin.c
+ This program shows the return-status from endwin with different
+ combinations of endwin (repeated), initscr, newterm.
Terminal database
There are several new terminal descriptions:
- * mosh
- * mosh-256color
- * teken-16color
- * teken-sc
- * teken-vt
- * xgterm
+ * ansi+apparrows
+ * contour
+ * linux+kbs for terminals which imitate xterm's behavior with Linux
+ * rio, rio-direct
+ * mostlike
+ * ms-vt100-16color, winconsole
+ * vt100+noapp, vt100+noapp+pc, xterm+app+pc, xterm+decedit from
+ xterm #389
+ * putty+cursor to reflect amending of modified cursor-keys in 2021
+ * wezterm
There are many changes to existing terminal descriptions. Some were
- updates to several descriptions:
- * make description-fields distinct
- * fix errata in description fields
- * add/use several building-blocks:
- + aixterm+sl
- + ansi+cpr
- + apollo+vt132
- + decid+cpr
- + ncr260vp+sl
- + wyse+sl
- + x10term+sl
- + xterm+acs
- + xterm+alt47
-
- while others affected specific descriptions. These were retested, to
- take into account changes by their developers:
- * kitty
- * teken
-
- while these are specific fixes based on reviewing documentation, user
- reports, or warnings from tic:
-
- att610+cvis0
- amended note as per documentation for att610, att620, att730
-
- kon, kon2, jfbterm
- revise to undo "linux2.6" change to smacs/rmacs/enacs
-
- st-0.6
- add dim, ecma+strikeout
-
- foot+base
- add xterm+sl-alt
-
- dec+sl
- correct dsl in dec+sl
-
- mintty and tmux
- correct setal in mintty/tmux entries, add to vte-2018
-
- nsterm
- modify nsterm to use xterm+alt1049
-
- putty
- modify putty to use xterm+alt1049
-
- vte-2018
- add blink and setal
-
- A few entries use extensions (user-defined terminal capabilities):
- * use ansi+enq and decid+cpr in cases where the terminal probably
- supported the u6-u9 extension
- * remove u6-u9 from teken-2018
- * use NQ to flag entries where the terminal does not support query
- and response
- * add/use bracketed+paste to help identify terminals supporting this
- xterm feature
- * modify samples for xterm mouse 1002/1003 modes to use 1006 mode,
- and also provide for focus in/out responses
- * xterm patch #371 supports DEC-compatible status-line. add dec+sl
- to xterm-new, per xterm #371, add xterm-p371, add xterm-p370, for
- use in older terminals, and set "xterm-new" to "xterm-p370" (to
- ease adoption).
+ updates to several descriptions, using the infocmp "-u" option in a
+ script to determine which building-block entries could be used to
+ replace multiple capability settings (and trim redundant information).
+
+ Other changes include:
+ * document XF, kxIN and kxOUT
+ * add note on sun regarding wscons/cmdtool/shelltool
+ * remove DECCOLM+DECSCLM from foot
+ * add xterm+focus to foot+base
+ * add ecma+strikeout to putty
+ * use CSI 3J in vte-2017
+ * use oldxterm+sm+1006 in vte-2014
+ * modify xgterm to work around line-drawing bug
+ * add xterm focus mode 1004 to xterm+focus as fe/fd capabilities,
+ like vim.
+ * add xterm+focus to alacritty+common
+ * add XR/xr, to work with vim, and use RV/rv to denote DA2 and its
+ response
+ * add XF flag to xterm+focus so that termcap applications can be
+ aware of terminals which may support focus in/out
+ * use xterm+focus in xterm-p370 and tmux
+ * remove xterm+sm+1006 from tmux
+ * NetBSD-related fixes for x68k and wsvt25
Documentation
features and show how they evolved, there are corrections,
clarifications, etc.:
* Corrections:
- + remove a stray '/' from description of %g in terminfo(5).
- + correct/improve font-formatting in curs_getch.3x, as well as
- other manual pages.
+ + add assignment in CF_MAN_PAGES to fill in value for
+ TERMINFO_DIRS in ncurses, terminfo and tic manpages.
+ + clarify interaction of -R option versus -C, -I and -r in
+ infocmp manpage.
+ + correct manpage description of panel_hidden.
+ + improve manpage description for addch versus unctrl format
+ used for non-printable characters.
+ + improve manpages discussing file descriptors in low-level
+ functions.
+ + improve description of search rules for terminal descriptions
+ in terminfo manpage.
+ + modify dist.mk to avoid passing developer's comments in
+ manpages into the generated html documentation.
+ + modify test-package "ncurses6-doc" to use manpage-aliases,
+ which in turn required a change to the configure script to
+ factor in the extra-suffix option when deriving alias names.
* New/improved history and portability sections:
- + add portability notes for delscreen and delwin in manual.
- + improve curs_slk.3x discussion of extensions and portability
+ + add information about "ttycap", termcap's forerunner, to
+ tset.1
+ + document limitations of tparm, and error-returns in
+ curs_terminfo.3x
+ + document limitations of tgoto, and error-returns in
+ curs_termcap.3x
* Other improvements:
- + improve curs_bkgd.3x, explaining that bkgdset can affect
- results for bkgd
- + add note on portable memory-leak checking in curs_memleaks.3x
- + expanded description in resizeterm.3x
- + add section on releasing memory to curs_termcap.3x and
- curs_terminfo.3x manpages.
- + add clarification of the scope of dynamic variables in
- terminfo(5).
- + improve formatting of ncurses-intro.html and hackguide.html
- + improve curs_clear.3x links to other pages
- + update ncurses-howto, making documentation fixes along with
- corrections to example programs.
- + use newer version 1.36 of gnathtml for generating Ada html
- files.
- + update external links in Ada95.html
+ + This release has many changes to improve the formatting and
+ style of the manpages.
+ + Manpages now use consistent section-naming, page headers and
+ footers (including the modification date for each page).
+ + Table layout has been revised.
There are no new manual pages (all of the manual page updates are to
existing pages).
Interesting bug-fixes
- While there were many bugs fixed during development of ncurses 6.4,
- only a few (the reason for this release) were both important and
- interesting. Most of the bug-fixes were for local issues which did not
- affect compatibility across releases. Since those are detailed in the
- NEWS file no elaboration is needed here.
-
- The interesting bugs were those dealing with memory leaks and buffer
- overflows. Although the utilities are designed for text files (which
- they do properly), some choose to test them with non-text files.
- * Text files contain no embedded nulls. Also, they end with a
- newline. Feeding tic non-text files exposed a few cases where the
- program did not check for those issues. As a result, further
- processing of the input found limit-checks whose assumptions were
- invalid.
- * Fixing the limit-checks (first) found a problem with tic managing
- the list of strings in a terminal description. In merging two
- terminal descriptions (i.e., the "use=" feature), tic was not
- allocating a complete copy. A quick repair for that introduced a
- memory leak.
- * The checks for non-text files are improved (i.e., embedded nulls
- in the input file will cause tic to reject it rather than
- attempting to process it).
- * The string allocations in tic are likewise improved.
+ The changes to tparm, tgoto which improve the design of the low-level
+ interfaces are interesting, but are not bug-fixes per se.
Configuration changes
Major changes
- There are no major changes. No new options were added. Several
- improvements were made to configure checks.
+ These are the major changes (aside from introducing tiparm_s):
+ * use wide-character (ncursesw) by default
+ * use opaque typedefs by default
+
+ However, most of the work on configure scripts was done to reduce
+ warnings within the configure script:
+ * intrusive warnings from GNU grep regarding fgrep and egrep
+ * fatal errors in compile-checks, arising from recent "Modern C"
+ efforts by some developers which caused longstanding configure
+ checks to fail.
+ After repairing the configure script, none of that activity
+ affected ncurses because stricter warnings are used routinely in
+ development.
+
+ Other improvements made to configure checks include
+ * use string-hacks in alloc_entry.c, alloc_type.c and hardscroll.c,
+ overlooked due to compiler changes in recent OpenBSD releases
+ * revise progs.priv.h to provide for NC_ISATTY reuse
+ * configure check for MB_LEN_MAX provides warning as needed
+ * trim a space after some "-R" options, fixing builds for
+ applications built using clang and ncurses on Solaris
+ * work around misconfiguration of MacPorts gcc13, which exposes
+ invalid definition of MB_LEN_MAX in gcc's fallback copy of
+ limits.h
+ * modified experimental Windows driver works with xterm mouse
+ protocol
Configuration options
- There are a few new/modified configure options:
+ There are a few new configure options:
+
+ --disable-setuid-environ
+ Compile with environment restriction, so certain environment
+ variables are not available when running via a setuid/setgid
+ application. These are (for example $TERMINFO) those that allow
+ the search path for the terminfo or termcap entry to be
+ customized.
+
+ A setuid/setgid application inherits its environment variables
+ from the current user, in contrast to sudo which may limit the
+ environment variables that ncurses uses.
+
+ --enable-check-size
+ Compile-in feature to detect screensize for terminals which do
+ not advertise their screensize, e.g., serial terminals.
+
+ --with-abi-altered=NUM
+ Override the displayed (rather than compiled-in) ABI. Only
+ packagers who have created configurations where the ABI differs
+ from ncurses should be interested in this option.
+
+ --with-strip-program=XXX
+ When stripping executables during install, use the specified
+ program rather than "strip" overriding program chosen by the
+ install program for stripping executables.
- --with-abi-version
- add ABI 7 defaults to configure script.
+ These configure options are modified:
- --with-caps
- add warning in configure script if file specified for
- "--with-caps" does not exist.
+ --with-pkg-config-libdir[=DIR]
+ The optional DIR parameter can now be "auto" to automatically
+ use pkg-config's library directory.
- --with-manpage-format
- bzip2 and xz compression are now supported
+ The default is $(libdir).
- --with-xterm-kbs
- add check/warning in configure script if option
- "--with-xterm-kbs" is missing or inconsistent
+ --with-xterm-kbs[=XXX]
+ The default is "auto" which tells the configure script to
+ choose BS or DEL according to platform defaults.
Portability
Many of the portability changes are implemented via the configure
script:
- * amend configure option's auto-search to account for systems where
- none of the directories known to pkg-config exist
- * corrected regex needed for older pkg-config used in Solaris 10
- * improve handling of --with-pkg-config-libdir option, allowing for
- the case where either $PKG_CONFIG_LIBDIR or the option value has a
- colon-separated list of directories
- * if the --with-pkg-config-libdir option is not given, use
- ${libdir}/pkgconfig as a default
- * improve search-path check for pkg-config, e.g., for Debian testing
- which installs pkg-config with architecture-prefixes.
- * build-fix for cross-compiling to MingW, conditionally add -lssp
- * improve configure check for getttynam
- * fixes to build with dietlibc:
- + add configure check for fpathconf
- + add configure check for math sine/cosine, needed in
- test/tclock, and eliminate pow() from test/hanoi
- + use wcsnlen as an alternative to wmemchr if it is not found
- * modify configure macro CF_BUILD_CC to check if the build-compiler
- works, rather than that it is different from the cross-compiler,
- e.g., to accommodate a compiler which can be used for either
- purpose with different flags
- * modify configure/scripts to work around interference by GNU grep
- 3.8
+ * add/use configure check for clock_gettime, to supersede
+ gettimeofday.
+ * modify configure script check for pkg-config library directory to
+ take into account an older version 0.15.0 which used
+ PKG_CONFIG_PATH but not PKG_CONFIG_LIBDIR
+ * allow for MinGW32-/64-bit configurations to use _DEFAULT_SOURCE
+ * modify CF_XOPEN_SOURCE macro's amend default case to avoid
+ undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined
+ * updated configure script macro CF_XOPEN_SOURCE, for uClibc-ng
+ * modify version-check for gcc/g++, now works for msys2
+ * build-fixes related to configure-options and/or platform:
+ + fix for --enable-fvisibility
+ + fix for unusual values of --with-rel-version
+ + fix for unusual values of --with-abi-version
+ + fix for --disable-tcap-names
+ + fix for termcap in nc_access.h
+ * other configure-script improvements:
+ + recent msys2 headers work with _DEFAULT_SOURCE; amend check
+ + use $ac_includes_default in most cases where stdlib.h should
+ work
+ + use #error consistently vs "make an error"
+ + add configure macro for gettimeofday vs inline check
Here are some of the other portability fixes:
- * change man_db.renames to template, to handle ncurses*-config
- script with the --extra-suffix configure option.
- * update CF_XOPEN_SOURCE macro, adding variants "gnueabi" and
- "gnueabihf" to get _DEFAULT_SOURCE special case, as well as adding
- GNU libc suffixes for "abi64", "abin32", "x32" to distinguish it
- from other libc flavors.
- * work around musl's nonstandard use of feature test macros by
- adding a definition for NCURSES_WIDECHAR to the generated ".pc"
- and *-config files.
- * use "command -v" rather than "type" in Ada95/gen/Makefile.in to
- fix a portability issue.
+ * modify configure scripts/makefiles to omit KEY_RESIZE if the
+ corresponding SIGWINCH feature is disabled
+ * increase MB_CUR_MAX to 16, matching glibc's MB_LEN_MAX
+ * add BSD erase2 to characters handled by tset/reset
+ * use getauxval when available, to improve setuid/setgid checks
+ * set dwShareMode in calls to CreateConsoleScreenBuffer
+ * use CreateFile with "CONIN$", "CONOUT$" rather than GetStdHandle
+ to obtain a handle on the actual console, avoiding redirection in
+ the MinGW/Win32 configurations
+ * modify MinGW driver to return KEY_BACKSPACE when an unmodified
+ VK_BACK virtual key is entered
+ * modify MinGW configuration to provide for running in MSYS/MSYS2
+ shells, assuming ConPTY support
_________________________________________________________________
Features of ncurses
The ncurses package is fully upward-compatible with SVr4 (System V
Release 4) curses:
* All of the SVr4 calls have been implemented (and are documented).
- * ncurses supports all of the for SVr4 curses features including
- keyboard mapping, color, forms-drawing with ACS characters, and
- automatic recognition of keypad and function keys.
- * ncurses provides these SVr4 add-on libraries (not part of X/Open
- Curses):
- + the panels library, supporting a stack of windows with
- backing store.
- + the menus library, supporting a uniform but flexible
- interface for menu programming.
+ * ncurses supports the features of SVr4 curses including keyboard
+ mapping, color, form drawing with ACS characters, and automatic
+ recognition of keypad and function keys.
+ * ncurses provides work-alike replacements of SVr4 supplemental
+ libraries based on curses, but which were not specified by X/Open
+ Curses:
+ + the panel library, supporting a stack of windows with backing
+ store
+ + the menu library, supporting a uniform but flexible interface
+ for menu programming
+ the form library, supporting data collection through
- on-screen forms.
+ on-screen forms
* ncurses's terminal database is fully compatible with that used by
SVr4 curses.
- + ncurses supports user-defined capabilities which it can see,
+ + ncurses supports user-defined capabilities that it can see,
but which are hidden from SVr4 curses applications using the
same terminal database.
+ It can be optionally configured to match the format used in
the HP-UX and AIX ports.
The ncurses package also has many useful extensions over SVr4:
- * The API is 8-bit clean and base-level conformant with the X/OPEN
- curses specification, XSI curses (that is, it implements all BASE
- level features, and most EXTENDED features). It includes many
- function calls not supported under SVr4 curses (but portability of
- all calls is documented so you can use the SVr4 subset only).
+ * The API is 8-bit clean and base-level conformant with the X/Open
+ Curses specification, XSI curses (that is, it implements all BASE
+ level features, and almost all EXTENDED features). It includes
+ many function calls not supported under SVr4 curses (but
+ portability of all calls is documented so you can use the SVr4
+ subset only).
* Unlike SVr3 curses, ncurses can write to the rightmost-bottommost
corner of the screen if your terminal has an insert-character
capability.
user's $HOME/.terminfo directory.
* The table-of-entries utility toe makes it easy for users to see
exactly what terminal types are available on the system.
- * The library meets the XSI requirement that every macro entry point
- has a corresponding function which may be linked (and will be
- prototype-checked) if the macro definition is disabled with
- #undef.
+ * X/Open Curses permits most functions it specifies to be made
+ available as macros as well. ncurses does this
+ + to improve performance, e.g., for operations composed of
+ simpler functions such as cursor movement following by adding
+ text to the screen,
+ + to simplify the implementation by reusing functions which use
+ common parameters, e.g., the standard screen stdscr, and
+ + to provide functions that return values via their parameters
+ Except for the last case, ncurses provides a non-macro
+ implementation of the function. If the macro definition is
+ disabled with #undef, or by defining NCURSES_NOMACROS the function
+ may be linked (and its calls will be checked against the
+ prototype).
* Extensive documentation is provided (see the Additional Reading
section of the ncurses FAQ for online documentation).
nvi
New vi uses ncurses.
- https://sites.google.com/a/bostic.com/keithbostic/vi
+ https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-
+ vi-editor-home-page
ranger
A console file manager with VI key bindings in Python.
minicom
terminal emulator for serial modem connections
- https://alioth.debian.org/projects/minicom/
+ https://salsa.debian.org/minicom-team/minicom
mosh
a replacement for ssh.
Patches to the current release are made available at
- https://invisible-island.net/archives/ncurses/6.3/ and
- https://invisible-mirror.net/archives/ncurses/6.3/ .
+ https://invisible-island.net/archives/ncurses/6.4/ and
+ https://invisible-mirror.net/archives/ncurses/6.4/ .
There is an archive of the mailing list here:
- http://lists.gnu.org/archive/html/bug-ncurses (also https)
+ https://lists.gnu.org/archive/html/bug-ncurses .
Related resources
terminal description file once maintained by Eric Raymond . Unlike the
older version, the termcap and terminfo data are provided in the same
file, which also provides several user-definable extensions beyond the
- X/Open specification.
+ X/Open Curses specification.
You can find lots of information on terminal-related topics not
- covered in the terminfo file at Richard Shuford's archive . The
- collection of computer manuals at bitsavers.org has also been useful.
+ covered in the terminfo file in Richard Shuford's archive (original).
+ The collection of computer manuals at bitsavers.org has also been
+ useful.
* Overview
* Release Notes
-------------------------------------------------------------------------------
--- Copyright 2018-2022,2023 Thomas E. Dickey --
+-- Copyright 2018-2023,2024 Thomas E. Dickey --
-- Copyright 1998-2017,2018 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: INSTALL,v 1.253 2023/11/03 20:55:47 tom Exp $
+-- $Id: INSTALL,v 1.255 2024/05/04 15:54:00 tom Exp $
---------------------------------------------------------------------
How to install Ncurses/Terminfo on your system
---------------------------------------------------------------------
several builds, some symbols will be listed in the the ".map" files
that do not happen to be present in one configuration or another.
- The sample ".map" (and ".sym") files are generated using a set of
- scripts which build several configurations for each release version,
- checking to see which of the "_nc_" symbols can be made local. In
- addition to the ncurses libraries and programs, the symbols used
- by the "tack" program before version 1.08 are made global.
+ The sample ".map" (and ".sym") files were generated using a set of
+ scripts which built several configurations for each release version,
+ checking to see which of the "_nc_" symbols can be made local.
These sample ".map" files will not cover all possible combinations.
In some cases, e.g., when using the --with-weak-symbols option, you
you may encounter when building a system with different versions of
ncurses:
- 6.5 (TBD; not stable; in development)
+ 6.5 (Apt 27, 2024)
Interface changes:
+ the WINDOW structure and some related internal data types declared
default; and
+ support for wide characters is now enabled by default.
+ Added extensions:
+
+ + is_cbreak, is_echo, is_nl, and is_raw, as well as "_sp" variants
+
+ + tiparm_s and tiscan_s
+
+ Added internal functions (other than "_sp" variants):
+
+ + _nc_env_access
+
+ Removed internal functions:
+
+ + none
+
+ Modified internal functions:
+
+ + These now pass a const parameter: _nc_delink_entry, _nc_str_copy,
+ and _nc_trans_string
+
6.4 (Dec 31, 2022)
Interface changes:
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: NEWS,v 1.4109 2024/04/14 09:43:45 tom Exp $
+-- $Id: NEWS,v 1.4117 2024/05/04 18:43:01 tom Exp $
-------------------------------------------------------------------------------
This is a log of changes that ncurses has gone through since Zeyd started
Changes through 1.9.9e did not credit all contributions;
it is not possible to add this information.
+20240504
+ + update ncurses/wcwidth.c, for MinGW ports, from xterm.
+ + trim obsolete comment about tack from INSTALL.
+
+20240427 6.5 release for upload to ftp.gnu.org
+ + update announcement
+ + fixes/corrections for manpages (patches by Branden Robinson).
+ + fix redefinition of CASTxPTR, for legacy Unix.
+
+20240420
+ + improve formatting/style of manpages (patches by Branden Robinson).
+ + compiler warning/portability fixes.
+
20240414
+ build/bug-fix for check-size feature (reports by Sam James, Gabriele
Balducci).
+ use xterm+nopcfkeys, vt52-basic, dec+pp, dec+sl, vt52+arrows,
hp+pfk+cr, klone+acs, klone+color, klone+sgr, ncr160wy50+pp
to trim -TD
- + NetBSD-related fixes for x68k and wsvt52 (patch by Thomas Klausner)
+ + NetBSD-related fixes for x68k and wsvt25 (patch by Thomas Klausner)
20240120
+ improve formatting/style of manpages (patches by Branden Robinson).
-5:0:10 6.4 20240414
+5:0:10 6.5 20240504
<!--
- $Id: announce.html.in,v 1.106 2023/12/30 21:24:48 tom Exp $
+ $Id: announce.html.in,v 1.107 2024/04/27 16:45:27 tom Exp $
****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
Notes</a></h2>
<p>These notes are for <span class="main-name">ncurses</span>
- @VERSION@, released <strong>December 31, 2022</strong>.</p>
+ @VERSION@, released <strong>April 27, 2024</strong>.</p>
<p>This release is designed to be source-compatible with
- <span class="main-name">ncurses</span> 5.0 through 6.3; providing
+ <span class="main-name">ncurses</span> 5.0 through 6.4; providing
extensions to the application binary interface (ABI). Although
the source can still be configured to support the <span class=
"main-name">ncurses</span> 5 ABI, the reason for the release is
bug-fixes/improvements</a> dealt with robustness issues. The
release notes also mention some other bug-fixes, but are focused
on new features and improvements to existing features since
- <span class="main-name">ncurses</span> 6.3 release.</p>
+ <span class="main-name">ncurses</span> 6.4 release.</p>
<h3><a name="h3-library" id="h3-library">Library improvements</a></h3>
<h4><a name="h4-new-library" id="h4-new-library">New features</a></h4>
- <p>There are no new features in this release.</p>
+ <p>These are new features:</p>
+
+ <ul>
+ <li>
+ <p>The low-level terminfo and termcap interfaces are used
+ both by the higher-level curses library, as well as by many
+ applications.</p>
+
+ <p>The functions which convert parameterized terminal
+ capability strings for output to the terminal
+ (<code>tiparm</code> and <code>tparm</code>) analyze the
+ capability string to determine which parameters are strings
+ (i.e., addresses), versus numbers (not addresses).</p>
+
+ <p>The library's analysis of a capability string may differ
+ from the calling application's design if environment
+ variables are used to point to an invalid terminal database.
+ This is a longstanding problem with <em>all</em>
+ implementations of terminfo, dating from the early 1980s.</p>
+
+ <p>Two new functions address this problem: by providing a
+ function which allows the calling application to tell ncurses
+ how many string-parameters to expect:</p>
+
+ <ul>
+ <li><code>tiscan_s</code> helps applications check
+ formatting capabilities that would be passed to
+ <code>tiparm_s</code>.</li>
+
+ <li><code>tiparm_s</code> provides applications a way to
+ tell ncurses what the expected parameters are for a
+ capability.</li>
+ </ul>
+ </li>
+
+ <li>
+ <p>The ncurses library supports a compile-time feature
+ (enabled with the configure <code>--enable-check-size</code>
+ option) which simplifies initialization with terminals which
+ do not negotiate window (screen) size. This is done in
+ <code>setupterm</code>, by providing for using ANSI
+ cursor-position report (in user6/user7 terminfo capabilities)
+ to obtain the screen size if neither environment variables or
+ ioctl is used.</p>
+
+ <p>The ncurses test-program with options
+ “<code>-E -T</code>” demonstrates this
+ feature.</p>
+ </li>
+
+ <li>add functions to query tty-flags in
+ <code>SCREEN</code></li>
+ </ul>
+
+ <p>This release drops compatibility with obsolete versions of
+ <a href="@HOMEPAGE@/tack/">tack</a>, e.g., pre-1.08</p>
<h4><a name="h4-fixes-library" id="h4-fixes-library">Other
improvements</a></h4>
<ul>
<li>
- <p>modify <tt>delscreen</tt> to more effectively delete all
- windows on the given screen.</p>
+ <p>In addition to the new, safer function
+ <code>tiparm_s</code>, ncurses adds checks to make the older
+ <code>tiparm</code>, <code>tparm</code> and
+ <code>tgoto</code> functions safer:</p>
+
+ <ul>
+ <li>
+ <p>the terminfo functions <code>tiparm</code> and
+ <code>tparm</code> ensure that the capability string
+ comes from the terminal description which ncurses loads,
+ rather than from random data which the application
+ happens to have.</p>
+ </li>
+
+ <li>
+ <p>the <code>tgoto</code> function disallows capabilities
+ which its analysis shows will attempt to use string
+ parameters.</p>
+ </li>
+
+ <li>
+ <p>ncurses uses internal functions which correspond to
+ <code>tiparm</code>, and <code>tgoto</code> which ensure
+ that the capability strings which are passed to these
+ functions come from the loaded terminal description.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>improve check in <code>lib_tparm.c</code>, ensuring that a
+ char* fits into a <code>TPARM_ARG</code></p>
+ </li>
+
+ <li>
+ <p>modify <code>_nc_syserr_abort</code> to use
+ <code>_nc_env_access</code>, rather than only checking root
+ uid</p>
+ </li>
+
+ <li>
+ <p>improve thread lock in <code>lib_trace.c</code></p>
+ </li>
+
+ <li>
+ <p>modify <code>flushinp</code> to use file descriptors in
+ <code>SCREEN</code>, rather than from <code>TERMINAL</code>,
+ and check if they are for a terminal, like SVr4</p>
+ </li>
+
+ <li>
+ <p>modify <code>mcprint</code> to use file descriptor in
+ <code>SCREEN</code>, for consistency</p>
+ </li>
+
+ <li>
+ <p>modify internal function <code>_nc_read_file_entry</code>
+ to show relevant filename in warnings</p>
</li>
<li>
- <p>modify <tt>wnoutrefresh</tt> to call <tt>pnoutrefresh</tt>
- if its parameter is a pad, rather than treating it as an
- error, and modify new_panel to permit its window-parameter to
- be a pad</p>
+ <p>improve checks in internal function
+ <code>convert_string</code> for corrupt terminfo entry</p>
</li>
<li>
- <p>modify curses_trace() to show the trace-mask as symbols,
- e.g., <tt>TRACE_ORDINARY</tt>, <tt>DEBUG_LEVEL(3)</tt>.</p>
+ <p>review/improve handling of out-of-memory conditions</p>
</li>
<li>
- <p>improve checks for valid mouse events when an intermediate
- mouse state is not part of the mousemask specified by the
- caller</p>
+ <p>limit delays to 30 seconds, i.e., padding delays in
+ terminfo, as well as <code>napms</code> and
+ <code>delay_output</code> functions</p>
</li>
<li>
- <p>allow extended-color number in <em>opts</em> parameter of
- <tt>wattr_on</tt>.</p>
+ <p>fix reallocation loop for <code>vsnprintf</code> in
+ <code>_nc_sprintf_string</code> by copying the va_list
+ variable</p>
</li>
<li>
- <p>improve <tt>_tracecchar_t2</tt> formatting of
- base+combining character.</p>
+ <p>modify <code>delscreen</code> to limit the windows which
+ it creates to just those associated with the screen</p>
</li>
<li>
- <p>trim out some unwanted linker options from ncurses*config
- and .pc files seen in Fedora 36+.</p>
+ <p>modify <code>endwin</code> to return an error if it is
+ called again without an intervening screen update</p>
</li>
<li>
- <p>improve shell-scripts with <em>shellcheck</em></p>
+ <p>modify <code>wenclose</code> to handle pads</p>
</li>
<li>
- <p>improve use of "trap" in shell scripts, using a
- script.</p>
+ <p>eliminate use of <code>PATH_MAX</code> in
+ <code>lib_trace.c</code></p>
</li>
<li>
- <p>modify <tt>make-tar.sh</tt> scripts to make timestamps
- more predictable.</p>
+ <p>provide for any <code>CCHARW_MAX</code> greater than 1</p>
</li>
</ul>
<ul>
<li>
- <p>modify <tt>misc/gen-pkgconfig.in</tt> to allow for the
- case where the library directory does not yet exist, since
- this is processed before doing an install</p>
+ <p>correct loop termination condition in
+ <code>waddnstr</code> and <code>waddnwstr</code></p>
+ </li>
+
+ <li>
+ <p>improve parsing in internal function
+ <code>_nc_msec_cost</code>, allowing a single decimal
+ point</p>
</li>
<li>
- <p>set trailing null on string passed from <tt>winsnstr</tt>
- to <tt>wins_nwstr</tt>.</p>
+ <p>amend parameter check for entire string versus specific
+ length in <code>winsnstr</code> and <code>wins_nwstr</code>
+ to match Solaris; make similar correction to
+ <code>wins_nwstr</code></p>
</li>
<li>
- <p>modify <tt>waddch_literal</tt> to allow for double-width
- base character when merging a combining character</p>
+ <p>correct internal function <code>wadd_wch_literal</code>
+ when adding a non-spacing character to a double-width
+ character</p>
+ </li>
+
+ <li>
+ <p>correct definition of <code>Charable</code> macro for
+ non-wide ncurses library .</p>
</li>
</ul>
improvements</a></h3>
<p id="h4-utilities">Several improvements were made to the
- utility programs:</p>
+ utility programs. Some were done to make the <code>infocmp</code>
+ option “<tt>-u</tt>” option help refactor the
+ terminal database.</p>
<dl>
<dt><span class="part-name"><a href=
<dd>
<ul>
- <li>rewrite <tt>canonical_name</tt> function of
- <tt>infocmp</tt> to ensure buffer size</li>
+ <li>
+ <p>add limit checks for processing extended capabilities
+ with the “<code>-u</code>” option</p>
+ </li>
- <li>improve readability of long parameterized expressions
- with the infocmp “<tt>-f</tt>” option by
- allowing split before a “<tt>%p</tt>”
- marker.</li>
+ <li>
+ <p>correct initial alignment of extended capabilities, so
+ that the “<code>-u</code>” option can be used
+ for more than two terminal types</p>
+ </li>
- <li>modify verbose-option of <tt>infocmp</tt>,
- <tt>tic</tt>, <tt>toe</tt> to enable debug-tracing if that
- is configured.</li>
+ <li>
+ <p>modify “<code>-u</code>” option to not
+ report cancels for strings which were already cancelled
+ in a use'd chunk.</p>
+ </li>
+
+ <li>
+ <p>correct an assignment “<code>-u</code>”
+ for detecting if a boolean is unset in a base entry and
+ set in a use'd chunk, i.e., if it was cancelled.</p>
+ </li>
</ul>
</dd>
<dt><span class="part-name"><a href=
- "@HOMEPAGE@/man/tabs.1.html">tabs</a></span>
+ "@HOMEPAGE@/man/tic.1m.html">tic</a></span>
</dt>
- <dd>limit tab-stop values to max-columns</dd>
+ <dd>
+ <ul>
+ <li>
+ <p>correct limit-check when dumping tc/use clause via
+ “<code>-I</code>”</p>
+ </li>
- <dt><span class="part-name"><a href=
- "@HOMEPAGE@/man/tic.1m.html">tic</a></span>
- </dt>
+ <li>
+ <p>check return value of <code>_nc_save_str</code>, in
+ special case where extended capabilities are processed
+ but the terminal description was not initialized</p>
+ </li>
- <dd>add consistency check in tic for u6/u7/u8/u9 and NQ
- capabilities.</dd>
+ <li>
+ <p>modify check for multiply defined aliases to report
+ problems within the current runtime rather than for
+ conflicts with pre-existing terminal descriptions.</p>
+ </li>
+
+ <li>
+ <p>disallow using <code>$TERMINFO</code> or
+ <code>$HOME/.terminfo</code> when
+ “<code>-o</code>” option is used</p>
+ </li>
+ </ul>
+ </dd>
<dt><span class="part-name"><a href=
- "@HOMEPAGE@/man/tput.1.html">tput</a></span>
- </dt>
+ "@HOMEPAGE@/man/tput.1.html">tput</a></span> and <span class=
+ "part-name"><a href=
+ "@HOMEPAGE@/man/tset.1.html">tset</a></span></dt>
+
+ <dd>
+ <ul>
+ <li>
+ <p>add “<code>-v</code>” option to tput, to
+ show warnings</p>
+ </li>
- <dd>corrected use of original tty-modes in <em>init/reset</em>
- subcommands</dd>
+ <li>
+ <p>modify <em>reset</em> command to avoid altering clocal
+ if the terminal uses a modem</p>
+ </li>
+
+ <li>
+ <p>modify <em>reset</em> feature to avoid 1-second sleep
+ if running in a pseudo-terminal</p>
+ </li>
+ </ul>
+ </dd>
</dl>
<h4><a name="h4-examples" id="h4-examples">Examples</a></h4>
<p>Along with the library and utilities, improvements were made
to the <a href=
- "@HOMEPAGE@/ncurses-examples.html">ncurses-examples</a>. Most of
- this activity aimed at improving the test-packages:</p>
+ "@HOMEPAGE@/ncurses-examples.html">ncurses-examples</a>:</p>
<ul>
<li>
- <p>add minimal <tt>-h</tt> (usage) and <tt>-V</tt> (version)
- getopt logic to all ncurses-examples programs.</p>
- </li>
-
- <li>
- <p>fix an error in "@" command in <tt>test/ncurses.c</tt>
- F-menu</p>
- </li>
-
- <li>
- <p>add curses_trace to ifdef's for <tt>START_TRACE</tt> in
- <tt>test/test.priv.h</tt></p>
- </li>
-
- <li>
- <p>improve pthread-configuration for test/worm.c</p>
- </li>
-
- <li>
- <p>add <tt>setlocale</tt> call to several test-programs.</p>
+ <p>modify <code>test_tparm</code> to account for extended
+ capabilities</p>
</li>
<li>
- <p>workaround in <tt>test/picsmap.c</tt> for use of floating
- point for rgb values by ImageMagick 6.9.11, which appears to
- use the wrong upper limit.</p>
+ <p>corrected mouse mask in <code>test/testcurs.c</code></p>
</li>
<li>
- <p>use static libraries for AdaCurses test-package for
- Mageia, since no gprbuild package is available.</p>
+ <p>modify <code>test/clip_printw.c</code> to optionally test
+ non-wrapped updates</p>
</li>
<li>
- <p>install Ada95 sample programs in libexecdir, adding a
- wrapper script to invoke those.</p>
+ <p>modify <code>test/test_mouse.c</code> to use curses api
+ for raw/noraw</p>
</li>
<li>
- <p>install ncurses-examples programs in libexecdir, adding a
- wrapper script to invoke those.</p>
+ <p>modify <code>test/clip_printw.c</code> to optionally test
+ non-wrapped updates</p>
</li>
</ul>
- <p>There are other new demo/test programs and reusable
- examples:</p>
+ <p>There is one new demo/test programs:</p>
<dl>
- <dt><span class="part-name"><em>test/combine</em></span>
+ <dt><span class="part-name"><em>test/test_endwin.c</em></span>
</dt>
- <dd>demonstrate combining characters</dd>
-
- <dt><span class="part-name"><em>test/test_delwin</em></span>
- </dt>
-
- <dd>demonstrate deleting a window</dd>
-
- <dt><span class="part-name"><em>test/test_mouse</em></span>
- </dt>
-
- <dd>observe mouse events in the raw terminal or parsed ncurses
- modes</dd>
-
- <dt><span class="part-name"><em>test/test_unget_wch</em></span>
- </dt>
-
- <dd>demonstrate the unget_wch and unget functions</dd>
+ <dd>
+ <p>This program shows the return-status from
+ <code>endwin</code> with different combinations of
+ <code>endwin</code> (repeated), <code>initscr</code>,
+ <code>newterm</code>.</p>
+ </dd>
</dl>
<h3><a name="h3-database" id="h3-database">Terminal database</a></h3>
<p>There are several new terminal descriptions:</p>
<ul>
- <li><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-mosh">mosh</a></tt>
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-ansi_apparrows"><tt>ansi+apparrows</tt></a></p>
</li>
- <li><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-mosh-256color">mosh-256color</a></tt>
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-contour"><tt>contour</tt></a></p>
</li>
- <li><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-teken-16color">teken-16color</a></tt>
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-linux_kbs"><tt>linux+kbs</tt></a>
+ for terminals which imitate xterm's behavior with Linux</p>
</li>
- <li><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-teken-sc">teken-sc</a></tt>
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-rio"><tt>rio</tt></a>,
+ <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-rio-direct"><tt>rio-direct</tt></a></p>
</li>
- <li><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-teken-vt">teken-vt</a></tt>
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-mostlike"><tt>mostlike</tt></a></p>
</li>
- <li><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-xgterm">xgterm</a></tt>
+ <li>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-ms-vt100-16color"><tt>ms-vt100-16color</tt></a>,
+ <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-winconsole"><tt>winconsole</tt></a></p>
</li>
- </ul>
- <p>There are many changes to existing terminal descriptions. Some
- were updates to several descriptions:</p>
-
- <ul>
<li>
- <p>make description-fields distinct</p>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-vt100_noapp"><tt>vt100+noapp</tt></a>,
+ <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-vt100_noapp_pc"><tt>vt100+noapp+pc</tt></a>,
+ <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-xterm_app_pc"><tt>xterm+app+pc</tt></a>,
+ <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-xterm_decedit"><tt>xterm+decedit</tt></a>
+ from <a href="@WEBSITE@/xterm/xterm.log.html#xterm_389">xterm
+ #389</a></p>
</li>
<li>
- <p>fix errata in description fields</p>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-putty_cursor"><tt>putty+cursor</tt></a>
+ to reflect amending of modified cursor-keys in 2021</p>
</li>
<li>
- <p>add/use several building-blocks:</p>
-
- <ul>
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-aixterm_sl"><tt>aixterm+sl</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-ansi_cpr"><tt>ansi+cpr</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-apollo_vt132"><tt>apollo+vt132</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-decid_cpr"><tt>decid+cpr</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-ncr260vp_sl"><tt>ncr260vp+sl</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-wyse_sl"><tt>wyse+sl</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-x10term_sl"><tt>x10term+sl</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-xterm_acs"><tt>xterm+acs</tt></a></li>
-
- <li><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-xterm_alt47"><tt>xterm+alt47</tt></a></li>
- </ul>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-wezterm"><tt>wezterm</tt></a></p>
</li>
</ul>
- <p>while others affected specific descriptions. These were
- retested, to take into account changes by their developers:</p>
+ <p>There are many changes to existing terminal descriptions. Some
+ were updates to several descriptions, using the
+ <code>infocmp</code> “<code>-u</code>” option in a
+ script to determine which <em>building-block</em> entries could
+ be used to replace multiple capability settings (and trim
+ redundant information).</p>
+
+ <p>Other changes include:</p>
<ul>
<li>
- <p><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-kitty">kitty</a></tt>
- </p>
+ <p><a href=
+ "@HOMEPAGE@/terminfo.src.html#toc-_X_T_E_R_M__Extensions_">document</a>
+ XF, kxIN and kxOUT</p>
</li>
<li>
- <p><tt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-teken">teken</a></tt>
- </p>
+ <p>add note on <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-sun"><tt>sun</tt></a>
+ regarding wscons/cmdtool/shelltool</p>
</li>
- </ul>
- <p>while these are specific fixes based on reviewing
- documentation, user reports, or warnings from <span class=
- "part-name">tic</span>:</p>
-
- <dl>
- <dt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-att610_cvis0">att610+cvis0</a>
- </dt>
-
- <dd>amended note as per documentation for att610, att620,
- att730</dd>
-
- <dt><a href="@HOMEPAGE@/terminfo.src.html#tic-kon">kon</a>,
- kon2, jfbterm</dt>
-
- <dd>revise to undo "linux2.6" change to smacs/rmacs/enacs</dd>
-
- <dt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-st-0_6">st-0.6</a>
- </dt>
-
- <dd>add dim, ecma+strikeout</dd>
-
- <dt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-foot_base">foot+base</a>
- </dt>
-
- <dd>add xterm+sl-alt</dd>
-
- <dt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-dec_sl">dec+sl</a>
- </dt>
-
- <dd>correct dsl in dec+sl</dd>
-
- <dt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-mintty">mintty</a> and
- tmux</dt>
-
- <dd>correct setal in mintty/tmux entries, add to vte-2018</dd>
-
- <dt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-nsterm">nsterm</a>
- </dt>
+ <li>
+ <p>remove DECCOLM+DECSCLM from <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-foot"><tt>foot</tt></a></p>
+ </li>
- <dd>modify nsterm to use xterm+alt1049</dd>
+ <li>
+ <p>add xterm+focus to <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-foot_base"><tt>foot+base</tt></a></p>
+ </li>
- <dt><a href="@HOMEPAGE@/terminfo.src.html#tic-putty">putty</a>
- </dt>
+ <li>
+ <p>add ecma+strikeout to <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-putty"><tt>putty</tt></a></p>
+ </li>
- <dd>modify putty to use xterm+alt1049</dd>
+ <li>
+ <p>use CSI 3J in <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-vte-2017"><tt>vte-2017</tt></a></p>
+ </li>
- <dt><a href=
- "@HOMEPAGE@/terminfo.src.html#tic-vte-2018">vte-2018</a>
- </dt>
+ <li>
+ <p>use oldxterm+sm+1006 in <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-vte-2014"><tt>vte-2014</tt></a></p>
+ </li>
- <dd>add blink and setal</dd>
- </dl>
+ <li>
+ <p>modify <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-xgterm"><tt>xgterm</tt></a>
+ to work around line-drawing bug</p>
+ </li>
- <p>A few entries use extensions (user-defined terminal
- capabilities):</p>
+ <li>
+ <p>add xterm focus mode 1004 to <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a>
+ as fe/fd capabilities, like vim.</p>
+ </li>
- <ul>
<li>
- <p>use <tt>ansi+enq</tt> and <tt>decid+cpr</tt> in cases
- where the terminal probably supported the u6-u9 extension</p>
+ <p>add xterm+focus to <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-alacritty_common"><tt>alacritty+common</tt></a></p>
</li>
<li>
- <p>remove u6-u9 from teken-2018</p>
+ <p>add XR/xr, to work with vim, and use RV/rv to denote DA2
+ and its response</p>
</li>
<li>
- <p>use <tt>NQ</tt> to flag entries where the terminal does
- not support query and response</p>
+ <p>add XF flag to <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a>
+ so that termcap applications can be aware of terminals which
+ may support focus in/out</p>
</li>
<li>
- <p>add/use <a href=
- "@HOMEPAGE@/terminfo.src.html#tic-bracketed_paste"><tt>bracketed+paste</tt></a>
- to help identify terminals supporting this xterm feature</p>
+ <p>use xterm+focus in <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-xterm-p370"><tt>xterm-p370</tt></a>
+ and <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p>
</li>
<li>
- <p>modify samples for xterm mouse 1002/1003 modes to use 1006
- mode, and also provide for focus in/out responses</p>
+ <p>remove xterm+sm+1006 from <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p>
</li>
<li>
- <p>xterm patch #371 supports DEC-compatible status-line. add
- <tt>dec+sl</tt> to xterm-new, per xterm #371, add <a href=
- "@HOMEPAGE@/terminfo.src.html#tic-xterm-p371"><tt>xterm-p371</tt></a>,
- add <a href=
- "@HOMEPAGE@/terminfo.src.html#tic-xterm-p370"><tt>xterm-p370</tt></a>,
- for use in older terminals, and set “xterm-new”
- to “xterm-p370” (to ease adoption).</p>
+ <p>NetBSD-related fixes for <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-x68k"><tt>x68k</tt></a> and
+ <a href=
+ "@HOMEPAGE@/terminfo.src.html#tic-wsvt25"><tt>wsvt25</tt></a></p>
</li>
</ul>
<ul>
<li>
- <p>remove a stray '/' from description of <tt>%g</tt> in
- <a href=
- "@HOMEPAGE@/man/terminfo.5.html#h3-Parameterized-Strings">
- terminfo(5)</a>.</p>
+ <p>add assignment in <code>CF_MAN_PAGES</code> to fill in
+ value for <code>TERMINFO_DIRS</code> in ncurses, terminfo
+ and tic manpages.</p>
</li>
<li>
- <p>correct/improve font-formatting in <a href=
- "@HOMEPAGE@/man/curs_getch.3x.html">curs_getch.3x</a>, as
- well as other manual pages.</p>
+ <p>clarify interaction of <code>-R</code> option versus
+ <code>-C</code>, <code>-I</code> and <code>-r</code> in
+ <code>infocmp</code> manpage.</p>
</li>
- </ul>
- </li>
-
- <li>
- <p>New/improved history and portability sections:</p>
- <ul>
<li>
- <p>add portability notes for <a href=
- "@HOMEPAGE@/man/curs_initscr.3x.html#h2-PORTABILITY">delscreen</a>
- and <a href=
- "@HOMEPAGE@/man/curs_window.3x.html#h2-PORTABILITY">delwin</a>
- in manual.</p>
+ <p>correct manpage description of panel_hidden.</p>
</li>
<li>
- <p>improve <a href=
- "@HOMEPAGE@/man/curs_slk.3x.html#h2-EXTENSIONS">curs_slk.3x</a>
- discussion of extensions and portability</p>
+ <p>improve manpage description for addch versus unctrl
+ format used for non-printable characters.</p>
</li>
- </ul>
- </li>
- <li>
- <p>Other improvements:</p>
-
- <ul>
<li>
- <p>improve <a href=
- "@HOMEPAGE@/man/curs_bkgd.3x.html">curs_bkgd.3x</a>,
- explaining that <tt>bkgdset</tt> can affect results for
- <tt>bkgd</tt></p>
+ <p>improve manpages discussing file descriptors in
+ low-level functions.</p>
</li>
<li>
- <p>add note on portable memory-leak checking in <a href=
- "@HOMEPAGE@/man/curs_memleaks.3x.html#h2-PORTABILITY">curs_memleaks.3x</a></p>
+ <p>improve description of search rules for terminal
+ descriptions in terminfo manpage.</p>
</li>
<li>
- <p>expanded description in <a href=
- "@HOMEPAGE@/man/resizeterm.3x.html">resizeterm.3x</a></p>
+ <p>modify dist.mk to avoid passing developer's comments
+ in manpages into the generated html documentation.</p>
</li>
<li>
- <p>add section on releasing memory to <a href=
- "@HOMEPAGE@/man/curs_termcap.3x.html#h3-Releasing-Memory">
- curs_termcap.3x</a> and <a href=
- "@HOMEPAGE@/man/curs_terminfo.3x.html#h3-Releasing-Memory">
- curs_terminfo.3x</a> manpages.</p>
+ <p>modify test-package "ncurses6-doc" to use
+ manpage-aliases, which in turn required a change to the
+ configure script to factor in the extra-suffix option
+ when deriving alias names.</p>
</li>
+ </ul>
+ </li>
+ <li>
+ <p>New/improved history and portability sections:</p>
+
+ <ul>
<li>
- <p>add clarification of the scope of dynamic variables in
- <a href=
- "@HOMEPAGE@/man/terminfo.5.html">terminfo(5)</a>.</p>
+ <p>add information about "ttycap", termcap's forerunner,
+ to tset.1</p>
</li>
<li>
- <p>improve formatting of <a href=
- "@HOMEPAGE@/ncurses-intro.html">ncurses-intro.html</a>
- and <a href=
- "@HOMEPAGE@/hackguide.html">hackguide.html</a></p>
+ <p>document limitations of tparm, and error-returns in
+ curs_terminfo.3x</p>
</li>
<li>
- <p>improve <a href=
- "@HOMEPAGE@/man/curs_clear.3x.html">curs_clear.3x</a>
- links to other pages</p>
+ <p>document limitations of tgoto, and error-returns in
+ curs_termcap.3x</p>
</li>
+ </ul>
+ </li>
+
+ <li>
+ <p>Other improvements:</p>
+ <ul>
<li>
- <p>update <a href=
- "@HOMEPAGE@/howto/NCURSES-Programming-HOWTO.html">ncurses-howto</a>,
- making documentation fixes along with corrections to
- example programs.</p>
+ <p>This release has many changes to improve the
+ formatting and style of the manpages.</p>
</li>
<li>
- <p>use newer version 1.36 of gnathtml for generating Ada
- html files.</p>
+ <p>Manpages now use consistent section-naming, page
+ headers and footers (including the modification date for
+ each page).</p>
</li>
<li>
- <p>update external links in <a href=
- "@HOMEPAGE@/Ada95.html">Ada95.html</a></p>
+ <p>Table layout has been revised.</p>
</li>
</ul>
</li>
<h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting
bug-fixes</a></h3>
- <p>While there were many bugs fixed during development of ncurses
- 6.4, only a few (the reason for this release) were both important
- and interesting. Most of the bug-fixes were for local issues
- which did not affect compatibility across releases. Since those
- are detailed in the <a href=
- "@HOMEPAGE@/NEWS.html#t20221231">NEWS</a> file no elaboration is
- needed here.</p>
+ <p>The changes to <tt>tparm</tt>, <tt>tgoto</tt> which improve
+ the design of the low-level interfaces are <em>interesting</em>,
+ but are not bug-fixes <em>per se</em>.</p>
+
+ <h3><a name="h3-config-config" id=
+ "h3-config-config">Configuration changes</a></h3>
+
+ <h4><a name="h4-config-major" id="h4-config-major">Major
+ changes</a></h4>
- <p>The interesting bugs were those dealing with memory leaks and
- buffer overflows. Although the utilities are designed for
- <em>text</em> files (which they do properly), some choose to test
- them with <strong>non-</strong><em>text</em> files.</p>
+ <p>These are the major changes (aside from introducing <a href=
+ "#h4-new-library"><tt>tiparm_s</tt></a>):</p>
<ul>
<li>
- <p>Text files contain no embedded nulls. Also, they end with
- a newline. Feeding <strong>tic</strong> non-text files
- exposed a few cases where the program did not check for those
- issues. As a result, further processing of the input found
- limit-checks whose assumptions were invalid.</p>
+ <p>use wide-character (ncursesw) by default</p>
</li>
<li>
- <p>Fixing the limit-checks (first) found a problem with
- <strong>tic</strong> managing the list of strings in a
- terminal description. In merging two terminal descriptions
- (i.e., the “use=” feature), <strong>tic</strong>
- was not allocating a complete copy. A quick repair for that
- introduced a memory leak.</p>
+ <p>use opaque typedefs by default</p>
</li>
+ </ul>
+ <p>However, most of the work on configure scripts was done to
+ reduce warnings within the configure script:</p>
+
+ <ul>
<li>
- <p>The checks for non-text files are improved (i.e., embedded
- nulls in the input file will cause <strong>tic</strong> to
- reject it rather than attempting to process it).</p>
+ <p>intrusive warnings from GNU grep regarding fgrep and
+ egrep</p>
</li>
<li>
- <p>The string allocations in <strong>tic</strong> are
- likewise improved.</p>
+ <p>fatal errors in compile-checks, arising from recent
+ “Modern C” efforts by some developers which
+ caused longstanding configure checks to fail.</p>
+
+ <p>After repairing the configure script, none of that
+ activity affected ncurses because stricter warnings are used
+ routinely in development.</p>
</li>
</ul>
- <h3><a name="h3-config-config" id=
- "h3-config-config">Configuration changes</a></h3>
+ <p>Other improvements made to configure checks include</p>
- <h4><a name="h4-config-major" id="h4-config-major">Major
- changes</a></h4>
+ <ul>
+ <li>
+ <p>use <a href=
+ "@HOMEPAGE@/INSTALL.html#option:enable-string-hacks">string-hacks</a>
+ in alloc_entry.c, alloc_type.c and hardscroll.c, overlooked
+ due to compiler changes in recent OpenBSD releases</p>
+ </li>
+
+ <li>
+ <p>revise progs.priv.h to provide for NC_ISATTY reuse</p>
+ </li>
+
+ <li>
+ <p>configure check for MB_LEN_MAX provides warning as
+ needed</p>
+ </li>
+
+ <li>
+ <p>trim a space after some "-R" options, fixing builds for
+ applications built using clang and ncurses on Solaris</p>
+ </li>
- <p>There are no major changes. No new options were added. Several
- improvements were made to configure checks.</p>
+ <li>
+ <p>work around misconfiguration of MacPorts gcc13, which
+ exposes invalid definition of <tt>MB_LEN_MAX</tt> in gcc's
+ fallback copy of <tt>limits.h</tt></p>
+ </li>
+
+ <li>
+ <p>modified experimental Windows driver works with xterm
+ mouse protocol</p>
+ </li>
+ </ul>
<h4><a name="h4-config-options" id=
"h4-config-options">Configuration options</a></h4>
- <p>There are a few new/modified configure options:</p>
+ <p>There are a few new configure options:</p>
<dl>
- <dt><tt>--with-abi-version</tt>
+ <dt><a href=
+ "@HOMEPAGE@/INSTALL.html#option:disable-setuid-environ"><tt>--disable-setuid-environ</tt></a>
</dt>
<dd>
- <p>add ABI 7 defaults to configure script.</p>
+ <p>Compile with environment restriction, so certain
+ environment variables are not available when running via a
+ setuid/setgid application. These are (for example
+ <tt>$TERMINFO</tt>) those that allow the search path for the
+ terminfo or termcap entry to be customized.</p>
+
+ <p>A setuid/setgid application inherits its environment
+ variables from the current user, in contrast to sudo which
+ may limit the environment variables that ncurses uses.</p>
</dd>
- <dt><tt>--with-caps</tt>
+ <dt><a href=
+ "@HOMEPAGE@/INSTALL.html#option:enable-check-size"><tt>--enable-check-size</tt></a>
</dt>
<dd>
- <p>add warning in configure script if file specified for
- “<tt>--with-caps</tt>” does not exist.</p>
+ <p>Compile-in feature to detect screensize for terminals
+ which do not advertise their screensize, e.g., serial
+ terminals.</p>
</dd>
- <dt><tt>--with-manpage-format</tt>
+ <dt><a href=
+ "@HOMEPAGE@/INSTALL.html#option:with-abi-altered"><tt>--with-abi-altered=<em>NUM</em></tt></a>
</dt>
<dd>
- <p>bzip2 and xz compression are now supported</p>
+ <p>Override the displayed (rather than compiled-in) ABI. Only
+ packagers who have created configurations where the ABI
+ differs from ncurses should be interested in this option.</p>
</dd>
- <dt><tt>--with-xterm-kbs</tt>
+ <dt><a href=
+ "@HOMEPAGE@/INSTALL.html#option:with-strip-program"><tt>--with-strip-program=<em>XXX</em></tt></a>
</dt>
<dd>
- <p>add check/warning in configure script if option
- “<tt>--with-xterm-kbs</tt>” is missing or
- inconsistent</p>
+ <p>When stripping executables during install, use the
+ specified program rather than “strip” overriding
+ program chosen by the install program for stripping
+ executables.</p>
+ </dd>
+ </dl>
+
+ <p>These configure options are modified:</p>
+
+ <dl>
+ <dt><a href=
+ "@HOMEPAGE@/INSTALL.html#option:with-pkg-config-libdir"><tt>--with-pkg-config-libdir[=<em>DIR</em>]</tt></a>
+ </dt>
+
+ <dd>
+ <p>The optional <em>DIR</em> parameter can now be
+ “auto” to automatically use pkg-config's library
+ directory.</p>
+
+ <p>The default is <tt>$(libdir)</tt>.</p>
+ </dd>
+
+ <dt><a href=
+ "@HOMEPAGE@/INSTALL.html#option:with-xterm-kbs"><tt>--with-xterm-kbs[=<em>XXX</em>]</tt></a>
+ </dt>
+
+ <dd>
+ <p>The default is “auto” which tells the
+ configure script to choose BS or DEL according to platform
+ defaults.</p>
</dd>
</dl>
<ul>
<li>
- <p>amend configure option's auto-search to account for
- systems where none of the directories known to
- <em>pkg-config</em> exist</p>
+ <p>add/use configure check for <code>clock_gettime</code>, to
+ supersede <code>gettimeofday</code>.</p>
</li>
<li>
- <p>corrected regex needed for older <em>pkg-config</em> used
- in Solaris 10</p>
+ <p>modify configure script check for pkg-config library
+ directory to take into account an older version 0.15.0 which
+ used PKG_CONFIG_PATH but not PKG_CONFIG_LIBDIR</p>
</li>
<li>
- <p>improve handling of <tt>--with-pkg-config-libdir</tt>
- option, allowing for the case where either
- <tt>$PKG_CONFIG_LIBDIR</tt> or the option value has a
- colon-separated list of directories</p>
+ <p>allow for MinGW32-/64-bit configurations to use
+ _DEFAULT_SOURCE</p>
</li>
<li>
- <p>if the <tt>--with-pkg-config-libdir</tt> option is not
- given, use <tt>${libdir}/pkgconfig</tt> as a default</p>
+ <p>modify CF_XOPEN_SOURCE macro's amend default case to avoid
+ undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined</p>
</li>
<li>
- <p>improve search-path check for <em>pkg-config</em>, e.g.,
- for Debian testing which installs <em>pkg-config</em> with
- architecture-prefixes.</p>
+ <p>updated configure script macro CF_XOPEN_SOURCE, for
+ uClibc-ng</p>
</li>
<li>
- <p>build-fix for cross-compiling to MingW, conditionally add
- <tt>-lssp</tt></p>
+ <p>modify version-check for gcc/g++, now works for msys2</p>
</li>
<li>
- <p>improve configure check for <tt>getttynam</tt></p>
+ <p>build-fixes related to configure-options and/or
+ platform:</p>
+
+ <ul>
+ <li>fix for <tt>--enable-fvisibility</tt></li>
+
+ <li>fix for unusual values of
+ <tt>--with-rel-version</tt></li>
+
+ <li>fix for unusual values of
+ <tt>--with-abi-version</tt></li>
+
+ <li>fix for <tt>--disable-tcap-names</tt></li>
+
+ <li>fix for termcap in <tt>nc_access.h</tt></li>
+ </ul>
</li>
<li>
- <p>fixes to build with <em>dietlibc</em>:</p>
+ <p>other configure-script improvements:</p>
<ul>
- <li>add configure check for <tt>fpathconf</tt></li>
+ <li>recent msys2 headers work with
+ <tt>_DEFAULT_SOURCE</tt>; amend check</li>
- <li>add configure check for math sine/cosine, needed in
- test/tclock, and eliminate <tt>pow()</tt> from
- test/hanoi</li>
+ <li>use <tt>$ac_includes_default</tt> in most cases where
+ stdlib.h should work</li>
- <li>use <tt>wcsnlen</tt> as an alternative to
- <tt>wmemchr</tt> if it is not found</li>
+ <li>use <tt>#error</tt> consistently vs "make an
+ error"</li>
+
+ <li>add configure macro for <tt>gettimeofday</tt> vs inline
+ check</li>
</ul>
</li>
+ </ul>
+ <p>Here are some of the other portability fixes:</p>
+
+ <ul>
<li>
- <p>modify configure macro <tt>CF_BUILD_CC</tt> to check if
- the build-compiler works, rather than that it is different
- from the cross-compiler, e.g., to accommodate a compiler
- which can be used for either purpose with different flags</p>
+ <p>modify configure scripts/makefiles to omit
+ <tt>KEY_RESIZE</tt> if the corresponding <tt>SIGWINCH</tt>
+ feature is disabled</p>
</li>
<li>
- <p>modify configure/scripts to work around interference by
- GNU grep 3.8</p>
+ <p>increase <tt>MB_CUR_MAX</tt> to 16, matching glibc's
+ <tt>MB_LEN_MAX</tt></p>
</li>
- </ul>
- <p>Here are some of the other portability fixes:</p>
+ <li>
+ <p>add BSD <tt>erase2</tt> to characters handled by
+ tset/reset</p>
+ </li>
- <ul>
<li>
- <p>change <tt>man_db.renames</tt> to template, to handle
- <em>ncurses*-config</em> script with the
- <tt>--extra-suffix</tt> configure option.</p>
+ <p>use <tt>getauxval</tt> when available, to improve
+ <tt>setuid</tt>/<tt>setgid</tt> checks</p>
</li>
<li>
- <p>update <tt>CF_XOPEN_SOURCE</tt> macro, adding variants
- “gnueabi" and “gnueabihf" to get
- <tt>_DEFAULT_SOURCE</tt> special case, as well as adding GNU
- libc suffixes for “abi64”, “abin32”,
- “x32” to distinguish it from other libc
- flavors.</p>
+ <p>set <tt>dwShareMode</tt> in calls to
+ <tt>CreateConsoleScreenBuffer</tt></p>
</li>
<li>
- <p>work around <em>musl</em>'s nonstandard use of feature
- test macros by adding a definition for
- <tt>NCURSES_WIDECHAR</tt> to the generated “.pc”
- and <em><tt>*-config</tt></em> files.</p>
+ <p>use <tt>CreateFile</tt> with "<tt>CONIN$</tt>",
+ "<tt>CONOUT$</tt>" rather than <tt>GetStdHandle</tt> to
+ obtain a handle on the actual console, avoiding redirection
+ in the MinGW/Win32 configurations</p>
</li>
<li>
- <p>use “<tt>command -v</tt>” rather than
- “<tt>type</tt>” in <tt>Ada95/gen/Makefile.in</tt>
- to fix a portability issue.</p>
+ <p>modify MinGW driver to return <tt>KEY_BACKSPACE</tt> when
+ an unmodified <tt>VK_BACK</tt> virtual key is entered</p>
+ </li>
+
+ <li>
+ <p>modify MinGW configuration to provide for running in
+ MSYS/MSYS2 shells, assuming ConPTY support</p>
</li>
</ul>
</li>
<li>
- <p><span class="main-name">ncurses</span> supports the features of
- SVr4 curses including keyboard mapping, color, form drawing with
- ACS characters, and automatic recognition of keypad and function
- keys.</p>
+ <p><span class="main-name">ncurses</span> supports the
+ features of SVr4 curses including keyboard mapping, color,
+ form drawing with ACS characters, and automatic recognition
+ of keypad and function keys.</p>
</li>
<li>
<p><span class="main-name">ncurses</span> provides work-alike
- replacements of SVr4 supplemental libraries based on curses, but
- which were not specified by X/Open Curses:</p>
+ replacements of SVr4 supplemental libraries based on curses,
+ but which were not specified by X/Open Curses:</p>
<ul>
<li>
<ul>
<li>
<p>The API is 8-bit clean and base-level conformant with the
- X/OPEN curses specification, XSI curses (that is, it
- implements all <em>BASE</em> level features, and most
+ X/Open Curses specification, XSI curses (that is, it
+ implements all <em>BASE</em> level features, and almost all
<em>EXTENDED</em> features). It includes many function calls
not supported under SVr4 curses (but portability of all calls
is documented so you can use the SVr4 subset only).</p>
</li>
<li>
- <p>The library meets the X/Open Curses requirement that every
- function declared in a header file has a macro equivalent.
- If the macro definition is disabled with <code>#undef</code>,
- the function may be linked (and its calls will be checked
- against the prototype).</p>
+ <p>X/Open Curses permits most functions it specifies to be
+ made available as macros as well. ncurses does this</p>
+
+ <ul>
+ <li>to improve performance, e.g., for operations composed
+ of simpler functions such as cursor movement following by
+ adding text to the screen,</li>
+
+ <li>to simplify the implementation by reusing functions
+ which use common parameters, e.g., the standard screen
+ <code>stdscr</code>, and</li>
+
+ <li>to provide functions that return values via their
+ parameters</li>
+ </ul>
+
+ <p>Except for the last case, ncurses provides a non-macro
+ implementation of the function. If the macro definition is
+ disabled with <code>#undef</code>, or by defining
+ <code>NCURSES_NOMACROS</code> the function may be linked (and
+ its calls will be checked against the prototype).</p>
</li>
<li>
<p>New vi uses ncurses.</p>
<p><a href=
- "https://sites.google.com/a/bostic.com/keithbostic/vi">https://sites.google.com/a/bostic.com/keithbostic/vi</a><br>
+ "https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page">
+ https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page</a><br>
</p>
</dd>
<p>terminal emulator for serial modem connections</p>
<p><a href=
- "https://alioth.debian.org/projects/minicom/">https://alioth.debian.org/projects/minicom/</a></p>
+ "https://salsa.debian.org/minicom-team/minicom">https://salsa.debian.org/minicom-team/minicom</a></p>
</dd>
<dt><span class="part-name">mosh</span>
<blockquote>
<p><a href=
- "https://invisible-island.net/archives/ncurses/6.3/">https://invisible-island.net/archives/ncurses/6.3/</a>
+ "https://invisible-island.net/archives/ncurses/6.4/">https://invisible-island.net/archives/ncurses/6.4/</a>
and<br>
<a href=
- "https://invisible-mirror.net/archives/ncurses/6.3/">https://invisible-mirror.net/archives/ncurses/6.3/</a> .</p>
+ "https://invisible-mirror.net/archives/ncurses/6.4/">https://invisible-mirror.net/archives/ncurses/6.4/</a> .</p>
</blockquote>
<p>There is an archive of the mailing list here:</p>
<blockquote>
<p><a href=
- "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
- (also <a href=
- "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
+ "https://lists.gnu.org/archive/html/bug-ncurses">https://lists.gnu.org/archive/html/bug-ncurses</a> .</p>
</blockquote>
<h2><a name="h2-this-stuff" id="h2-this-stuff">Related
<a href="http://www.catb.org/~esr/terminfo/">Eric
Raymond</a> . Unlike the older version, the termcap and
terminfo data are provided in the same file, which also provides
- several user-definable extensions beyond the X/Open
+ several user-definable extensions beyond the X/Open Curses
specification.</p>
<p>You can find lots of information on terminal-related topics
- not covered in the terminfo file at <a href=
- "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
- Richard Shuford's archive</a> . The collection of computer
- manuals at <a href=
+ not covered in the terminfo file in <a href=
+ "https://shuford.invisible-island.net/">Richard Shuford's
+ archive</a> (<a href=
+ "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">original</a>).
+ The collection of computer manuals at <a href=
"http://www.bitsavers.org/pdf/">bitsavers.org</a> has also been
useful.</p>
# use or other dealings in this Software without prior written #
# authorization. #
##############################################################################
-# $Id: dist.mk,v 1.1607 2024/04/14 08:48:20 tom Exp $
+# $Id: dist.mk,v 1.1611 2024/05/04 10:21:09 tom Exp $
# Makefile for creating ncurses distributions.
#
# This only needs to be used directly as a makefile by developers, but
# These define the major/minor/patch versions of ncurses.
NCURSES_MAJOR = 6
-NCURSES_MINOR = 4
-NCURSES_PATCH = 20240414
+NCURSES_MINOR = 5
+NCURSES_PATCH = 20240504
# We don't append the patch to the version, since this only applies to releases
VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
<span class="comment"><em>-- Version of the ncurses library from extensions(3NCURSES)</em></span>
<span class="symbol"><a name="ref_21_4">NCURSES_VERSION_MAJOR</a></span> : <b>constant</b> := 6;
- <span class="symbol"><a name="ref_22_4">NCURSES_VERSION_MINOR</a></span> : <b>constant</b> := 4;
- <span class="symbol"><a name="ref_23_4">Version</a></span> : <b>constant</b> String := "6.4";
+ <span class="symbol"><a name="ref_22_4">NCURSES_VERSION_MINOR</a></span> : <b>constant</b> := 5;
+ <span class="symbol"><a name="ref_23_4">Version</a></span> : <b>constant</b> String := "6.5";
<span class="comment"><em>-- Character non-color attributes from attr(3NCURSES)</em></span>
<!--
- $Id: announce.html,v 1.68 2022/12/31 20:38:46 tom Exp $
+ $Id: announce.html,v 1.70 2024/04/27 18:38:45 tom Exp $
****************************************************************************
- * Copyright 2018-2021,2022 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* copy of this software and associated documentation files (the *
<head>
<meta name="generator" content=
"HTML Tidy for HTML5 for Linux version 5.6.0">
- <title>Announcing ncurses 6.4</title>
+ <title>Announcing ncurses 6.5</title>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
</style>
</head>
<body>
- <h1 class="no-header">Announcing ncurses 6.4</h1>
+ <h1 class="no-header">Announcing ncurses 6.5</h1>
<h2><a name="h2-overview" id="h2-overview">Overview</a></h2>
Notes</a></h2>
<p>These notes are for <span class="main-name">ncurses</span>
- 6.4, released <strong>December 31, 2022</strong>.</p>
+ 6.5, released <strong>April 27, 2024</strong>.</p>
<p>This release is designed to be source-compatible with
- <span class="main-name">ncurses</span> 5.0 through 6.3; providing
+ <span class="main-name">ncurses</span> 5.0 through 6.4; providing
extensions to the application binary interface (ABI). Although
the source can still be configured to support the <span class=
"main-name">ncurses</span> 5 ABI, the reason for the release is
bug-fixes/improvements</a> dealt with robustness issues. The
release notes also mention some other bug-fixes, but are focused
on new features and improvements to existing features since
- <span class="main-name">ncurses</span> 6.3 release.</p>
+ <span class="main-name">ncurses</span> 6.4 release.</p>
<h3><a name="h3-library" id="h3-library">Library improvements</a></h3>
<h4><a name="h4-new-library" id="h4-new-library">New features</a></h4>
- <p>There are no new features in this release.</p>
+ <p>These are new features:</p>
+
+ <ul>
+ <li>
+ <p>The low-level terminfo and termcap interfaces are used
+ both by the higher-level curses library, as well as by many
+ applications.</p>
+
+ <p>The functions which convert parameterized terminal
+ capability strings for output to the terminal
+ (<code>tiparm</code> and <code>tparm</code>) analyze the
+ capability string to determine which parameters are strings
+ (i.e., addresses), versus numbers (not addresses).</p>
+
+ <p>The library's analysis of a capability string may differ
+ from the calling application's design if environment
+ variables are used to point to an invalid terminal database.
+ This is a longstanding problem with <em>all</em>
+ implementations of terminfo, dating from the early 1980s.</p>
+
+ <p>Two new functions address this problem: by providing a
+ function which allows the calling application to tell ncurses
+ how many string-parameters to expect:</p>
+
+ <ul>
+ <li><code>tiscan_s</code> helps applications check
+ formatting capabilities that would be passed to
+ <code>tiparm_s</code>.</li>
+
+ <li><code>tiparm_s</code> provides applications a way to
+ tell ncurses what the expected parameters are for a
+ capability.</li>
+ </ul>
+ </li>
+
+ <li>
+ <p>The ncurses library supports a compile-time feature
+ (enabled with the configure <code>--enable-check-size</code>
+ option) which simplifies initialization with terminals which
+ do not negotiate window (screen) size. This is done in
+ <code>setupterm</code>, by providing for using ANSI
+ cursor-position report (in user6/user7 terminfo capabilities)
+ to obtain the screen size if neither environment variables or
+ ioctl is used.</p>
+
+ <p>The ncurses test-program with options
+ “<code>-E -T</code>” demonstrates this
+ feature.</p>
+ </li>
+
+ <li>add functions to query tty-flags in
+ <code>SCREEN</code></li>
+ </ul>
+
+ <p>This release drops compatibility with obsolete versions of
+ <a href="https://invisible-island.net/ncurses/tack/">tack</a>, e.g., pre-1.08</p>
<h4><a name="h4-fixes-library" id="h4-fixes-library">Other
improvements</a></h4>
<ul>
<li>
- <p>modify <tt>delscreen</tt> to more effectively delete all
- windows on the given screen.</p>
+ <p>In addition to the new, safer function
+ <code>tiparm_s</code>, ncurses adds checks to make the older
+ <code>tiparm</code>, <code>tparm</code> and
+ <code>tgoto</code> functions safer:</p>
+
+ <ul>
+ <li>
+ <p>the terminfo functions <code>tiparm</code> and
+ <code>tparm</code> ensure that the capability string
+ comes from the terminal description which ncurses loads,
+ rather than from random data which the application
+ happens to have.</p>
+ </li>
+
+ <li>
+ <p>the <code>tgoto</code> function disallows capabilities
+ which its analysis shows will attempt to use string
+ parameters.</p>
+ </li>
+
+ <li>
+ <p>ncurses uses internal functions which correspond to
+ <code>tiparm</code>, and <code>tgoto</code> which ensure
+ that the capability strings which are passed to these
+ functions come from the loaded terminal description.</p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>improve check in <code>lib_tparm.c</code>, ensuring that a
+ char* fits into a <code>TPARM_ARG</code></p>
+ </li>
+
+ <li>
+ <p>modify <code>_nc_syserr_abort</code> to use
+ <code>_nc_env_access</code>, rather than only checking root
+ uid</p>
+ </li>
+
+ <li>
+ <p>improve thread lock in <code>lib_trace.c</code></p>
+ </li>
+
+ <li>
+ <p>modify <code>flushinp</code> to use file descriptors in
+ <code>SCREEN</code>, rather than from <code>TERMINAL</code>,
+ and check if they are for a terminal, like SVr4</p>
+ </li>
+
+ <li>
+ <p>modify <code>mcprint</code> to use file descriptor in
+ <code>SCREEN</code>, for consistency</p>
+ </li>
+
+ <li>
+ <p>modify internal function <code>_nc_read_file_entry</code>
+ to show relevant filename in warnings</p>
</li>
<li>
- <p>modify <tt>wnoutrefresh</tt> to call <tt>pnoutrefresh</tt>
- if its parameter is a pad, rather than treating it as an
- error, and modify new_panel to permit its window-parameter to
- be a pad</p>
+ <p>improve checks in internal function
+ <code>convert_string</code> for corrupt terminfo entry</p>
</li>
<li>
- <p>modify curses_trace() to show the trace-mask as symbols,
- e.g., <tt>TRACE_ORDINARY</tt>, <tt>DEBUG_LEVEL(3)</tt>.</p>
+ <p>review/improve handling of out-of-memory conditions</p>
</li>
<li>
- <p>improve checks for valid mouse events when an intermediate
- mouse state is not part of the mousemask specified by the
- caller</p>
+ <p>limit delays to 30 seconds, i.e., padding delays in
+ terminfo, as well as <code>napms</code> and
+ <code>delay_output</code> functions</p>
</li>
<li>
- <p>allow extended-color number in <em>opts</em> parameter of
- <tt>wattr_on</tt>.</p>
+ <p>fix reallocation loop for <code>vsnprintf</code> in
+ <code>_nc_sprintf_string</code> by copying the va_list
+ variable</p>
</li>
<li>
- <p>improve <tt>_tracecchar_t2</tt> formatting of
- base+combining character.</p>
+ <p>modify <code>delscreen</code> to limit the windows which
+ it creates to just those associated with the screen</p>
</li>
<li>
- <p>trim out some unwanted linker options from ncurses*config
- and .pc files seen in Fedora 36+.</p>
+ <p>modify <code>endwin</code> to return an error if it is
+ called again without an intervening screen update</p>
</li>
<li>
- <p>improve shell-scripts with <em>shellcheck</em></p>
+ <p>modify <code>wenclose</code> to handle pads</p>
</li>
<li>
- <p>improve use of "trap" in shell scripts, using a
- script.</p>
+ <p>eliminate use of <code>PATH_MAX</code> in
+ <code>lib_trace.c</code></p>
</li>
<li>
- <p>modify <tt>make-tar.sh</tt> scripts to make timestamps
- more predictable.</p>
+ <p>provide for any <code>CCHARW_MAX</code> greater than 1</p>
</li>
</ul>
<ul>
<li>
- <p>modify <tt>misc/gen-pkgconfig.in</tt> to allow for the
- case where the library directory does not yet exist, since
- this is processed before doing an install</p>
+ <p>correct loop termination condition in
+ <code>waddnstr</code> and <code>waddnwstr</code></p>
+ </li>
+
+ <li>
+ <p>improve parsing in internal function
+ <code>_nc_msec_cost</code>, allowing a single decimal
+ point</p>
</li>
<li>
- <p>set trailing null on string passed from <tt>winsnstr</tt>
- to <tt>wins_nwstr</tt>.</p>
+ <p>amend parameter check for entire string versus specific
+ length in <code>winsnstr</code> and <code>wins_nwstr</code>
+ to match Solaris; make similar correction to
+ <code>wins_nwstr</code></p>
</li>
<li>
- <p>modify <tt>waddch_literal</tt> to allow for double-width
- base character when merging a combining character</p>
+ <p>correct internal function <code>wadd_wch_literal</code>
+ when adding a non-spacing character to a double-width
+ character</p>
+ </li>
+
+ <li>
+ <p>correct definition of <code>Charable</code> macro for
+ non-wide ncurses library .</p>
</li>
</ul>
improvements</a></h3>
<p id="h4-utilities">Several improvements were made to the
- utility programs:</p>
+ utility programs. Some were done to make the <code>infocmp</code>
+ option “<tt>-u</tt>” option help refactor the
+ terminal database.</p>
<dl>
<dt><span class="part-name"><a href=
<dd>
<ul>
- <li>rewrite <tt>canonical_name</tt> function of
- <tt>infocmp</tt> to ensure buffer size</li>
+ <li>
+ <p>add limit checks for processing extended capabilities
+ with the “<code>-u</code>” option</p>
+ </li>
- <li>improve readability of long parameterized expressions
- with the infocmp “<tt>-f</tt>” option by
- allowing split before a “<tt>%p</tt>”
- marker.</li>
+ <li>
+ <p>correct initial alignment of extended capabilities, so
+ that the “<code>-u</code>” option can be used
+ for more than two terminal types</p>
+ </li>
- <li>modify verbose-option of <tt>infocmp</tt>,
- <tt>tic</tt>, <tt>toe</tt> to enable debug-tracing if that
- is configured.</li>
+ <li>
+ <p>modify “<code>-u</code>” option to not
+ report cancels for strings which were already cancelled
+ in a use'd chunk.</p>
+ </li>
+
+ <li>
+ <p>correct an assignment “<code>-u</code>”
+ for detecting if a boolean is unset in a base entry and
+ set in a use'd chunk, i.e., if it was cancelled.</p>
+ </li>
</ul>
</dd>
<dt><span class="part-name"><a href=
- "https://invisible-island.net/ncurses/man/tabs.1.html">tabs</a></span>
+ "https://invisible-island.net/ncurses/man/tic.1m.html">tic</a></span>
</dt>
- <dd>limit tab-stop values to max-columns</dd>
+ <dd>
+ <ul>
+ <li>
+ <p>correct limit-check when dumping tc/use clause via
+ “<code>-I</code>”</p>
+ </li>
- <dt><span class="part-name"><a href=
- "https://invisible-island.net/ncurses/man/tic.1m.html">tic</a></span>
- </dt>
+ <li>
+ <p>check return value of <code>_nc_save_str</code>, in
+ special case where extended capabilities are processed
+ but the terminal description was not initialized</p>
+ </li>
- <dd>add consistency check in tic for u6/u7/u8/u9 and NQ
- capabilities.</dd>
+ <li>
+ <p>modify check for multiply defined aliases to report
+ problems within the current runtime rather than for
+ conflicts with pre-existing terminal descriptions.</p>
+ </li>
+
+ <li>
+ <p>disallow using <code>$TERMINFO</code> or
+ <code>$HOME/.terminfo</code> when
+ “<code>-o</code>” option is used</p>
+ </li>
+ </ul>
+ </dd>
<dt><span class="part-name"><a href=
- "https://invisible-island.net/ncurses/man/tput.1.html">tput</a></span>
- </dt>
+ "https://invisible-island.net/ncurses/man/tput.1.html">tput</a></span> and <span class=
+ "part-name"><a href=
+ "https://invisible-island.net/ncurses/man/tset.1.html">tset</a></span></dt>
+
+ <dd>
+ <ul>
+ <li>
+ <p>add “<code>-v</code>” option to tput, to
+ show warnings</p>
+ </li>
- <dd>corrected use of original tty-modes in <em>init/reset</em>
- subcommands</dd>
+ <li>
+ <p>modify <em>reset</em> command to avoid altering clocal
+ if the terminal uses a modem</p>
+ </li>
+
+ <li>
+ <p>modify <em>reset</em> feature to avoid 1-second sleep
+ if running in a pseudo-terminal</p>
+ </li>
+ </ul>
+ </dd>
</dl>
<h4><a name="h4-examples" id="h4-examples">Examples</a></h4>
<p>Along with the library and utilities, improvements were made
to the <a href=
- "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>. Most of
- this activity aimed at improving the test-packages:</p>
+ "https://invisible-island.net/ncurses/ncurses-examples.html">ncurses-examples</a>:</p>
<ul>
<li>
- <p>add minimal <tt>-h</tt> (usage) and <tt>-V</tt> (version)
- getopt logic to all ncurses-examples programs.</p>
- </li>
-
- <li>
- <p>fix an error in "@" command in <tt>test/ncurses.c</tt>
- F-menu</p>
- </li>
-
- <li>
- <p>add curses_trace to ifdef's for <tt>START_TRACE</tt> in
- <tt>test/test.priv.h</tt></p>
- </li>
-
- <li>
- <p>improve pthread-configuration for test/worm.c</p>
- </li>
-
- <li>
- <p>add <tt>setlocale</tt> call to several test-programs.</p>
+ <p>modify <code>test_tparm</code> to account for extended
+ capabilities</p>
</li>
<li>
- <p>workaround in <tt>test/picsmap.c</tt> for use of floating
- point for rgb values by ImageMagick 6.9.11, which appears to
- use the wrong upper limit.</p>
+ <p>corrected mouse mask in <code>test/testcurs.c</code></p>
</li>
<li>
- <p>use static libraries for AdaCurses test-package for
- Mageia, since no gprbuild package is available.</p>
+ <p>modify <code>test/clip_printw.c</code> to optionally test
+ non-wrapped updates</p>
</li>
<li>
- <p>install Ada95 sample programs in libexecdir, adding a
- wrapper script to invoke those.</p>
+ <p>modify <code>test/test_mouse.c</code> to use curses api
+ for raw/noraw</p>
</li>
<li>
- <p>install ncurses-examples programs in libexecdir, adding a
- wrapper script to invoke those.</p>
+ <p>modify <code>test/clip_printw.c</code> to optionally test
+ non-wrapped updates</p>
</li>
</ul>
- <p>There are other new demo/test programs and reusable
- examples:</p>
+ <p>There is one new demo/test programs:</p>
<dl>
- <dt><span class="part-name"><em>test/combine</em></span>
+ <dt><span class="part-name"><em>test/test_endwin.c</em></span>
</dt>
- <dd>demonstrate combining characters</dd>
-
- <dt><span class="part-name"><em>test/test_delwin</em></span>
- </dt>
-
- <dd>demonstrate deleting a window</dd>
-
- <dt><span class="part-name"><em>test/test_mouse</em></span>
- </dt>
-
- <dd>observe mouse events in the raw terminal or parsed ncurses
- modes</dd>
-
- <dt><span class="part-name"><em>test/test_unget_wch</em></span>
- </dt>
-
- <dd>demonstrate the unget_wch and unget functions</dd>
+ <dd>
+ <p>This program shows the return-status from
+ <code>endwin</code> with different combinations of
+ <code>endwin</code> (repeated), <code>initscr</code>,
+ <code>newterm</code>.</p>
+ </dd>
</dl>
<h3><a name="h3-database" id="h3-database">Terminal database</a></h3>
<p>There are several new terminal descriptions:</p>
<ul>
- <li><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-mosh">mosh</a></tt>
+ <li>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_apparrows"><tt>ansi+apparrows</tt></a></p>
</li>
- <li><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-mosh-256color">mosh-256color</a></tt>
+ <li>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-contour"><tt>contour</tt></a></p>
</li>
- <li><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-teken-16color">teken-16color</a></tt>
+ <li>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-linux_kbs"><tt>linux+kbs</tt></a>
+ for terminals which imitate xterm's behavior with Linux</p>
</li>
- <li><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-teken-sc">teken-sc</a></tt>
+ <li>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio"><tt>rio</tt></a>,
+ <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-rio-direct"><tt>rio-direct</tt></a></p>
</li>
- <li><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-teken-vt">teken-vt</a></tt>
+ <li>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-mostlike"><tt>mostlike</tt></a></p>
</li>
- <li><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-xgterm">xgterm</a></tt>
+ <li>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-ms-vt100-16color"><tt>ms-vt100-16color</tt></a>,
+ <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-winconsole"><tt>winconsole</tt></a></p>
</li>
- </ul>
- <p>There are many changes to existing terminal descriptions. Some
- were updates to several descriptions:</p>
-
- <ul>
<li>
- <p>make description-fields distinct</p>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp"><tt>vt100+noapp</tt></a>,
+ <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-vt100_noapp_pc"><tt>vt100+noapp+pc</tt></a>,
+ <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_app_pc"><tt>xterm+app+pc</tt></a>,
+ <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_decedit"><tt>xterm+decedit</tt></a>
+ from <a href="https://invisible-island.net/xterm/xterm.log.html#xterm_389">xterm
+ #389</a></p>
</li>
<li>
- <p>fix errata in description fields</p>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty_cursor"><tt>putty+cursor</tt></a>
+ to reflect amending of modified cursor-keys in 2021</p>
</li>
<li>
- <p>add/use several building-blocks:</p>
-
- <ul>
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-aixterm_sl"><tt>aixterm+sl</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-ansi_cpr"><tt>ansi+cpr</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-apollo_vt132"><tt>apollo+vt132</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-decid_cpr"><tt>decid+cpr</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-ncr260vp_sl"><tt>ncr260vp+sl</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-wyse_sl"><tt>wyse+sl</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-x10term_sl"><tt>x10term+sl</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_acs"><tt>xterm+acs</tt></a></li>
-
- <li><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_alt47"><tt>xterm+alt47</tt></a></li>
- </ul>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-wezterm"><tt>wezterm</tt></a></p>
</li>
</ul>
- <p>while others affected specific descriptions. These were
- retested, to take into account changes by their developers:</p>
+ <p>There are many changes to existing terminal descriptions. Some
+ were updates to several descriptions, using the
+ <code>infocmp</code> “<code>-u</code>” option in a
+ script to determine which <em>building-block</em> entries could
+ be used to replace multiple capability settings (and trim
+ redundant information).</p>
+
+ <p>Other changes include:</p>
<ul>
<li>
- <p><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-kitty">kitty</a></tt>
- </p>
+ <p><a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#toc-_X_T_E_R_M__Extensions_">document</a>
+ XF, kxIN and kxOUT</p>
</li>
<li>
- <p><tt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-teken">teken</a></tt>
- </p>
+ <p>add note on <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-sun"><tt>sun</tt></a>
+ regarding wscons/cmdtool/shelltool</p>
</li>
- </ul>
- <p>while these are specific fixes based on reviewing
- documentation, user reports, or warnings from <span class=
- "part-name">tic</span>:</p>
-
- <dl>
- <dt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-att610_cvis0">att610+cvis0</a>
- </dt>
-
- <dd>amended note as per documentation for att610, att620,
- att730</dd>
-
- <dt><a href="https://invisible-island.net/ncurses/terminfo.src.html#tic-kon">kon</a>,
- kon2, jfbterm</dt>
-
- <dd>revise to undo "linux2.6" change to smacs/rmacs/enacs</dd>
-
- <dt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-st-0_6">st-0.6</a>
- </dt>
-
- <dd>add dim, ecma+strikeout</dd>
-
- <dt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot_base">foot+base</a>
- </dt>
-
- <dd>add xterm+sl-alt</dd>
-
- <dt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-dec_sl">dec+sl</a>
- </dt>
-
- <dd>correct dsl in dec+sl</dd>
-
- <dt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-mintty">mintty</a> and
- tmux</dt>
-
- <dd>correct setal in mintty/tmux entries, add to vte-2018</dd>
-
- <dt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-nsterm">nsterm</a>
- </dt>
+ <li>
+ <p>remove DECCOLM+DECSCLM from <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot"><tt>foot</tt></a></p>
+ </li>
- <dd>modify nsterm to use xterm+alt1049</dd>
+ <li>
+ <p>add xterm+focus to <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-foot_base"><tt>foot+base</tt></a></p>
+ </li>
- <dt><a href="https://invisible-island.net/ncurses/terminfo.src.html#tic-putty">putty</a>
- </dt>
+ <li>
+ <p>add ecma+strikeout to <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-putty"><tt>putty</tt></a></p>
+ </li>
- <dd>modify putty to use xterm+alt1049</dd>
+ <li>
+ <p>use CSI 3J in <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2017"><tt>vte-2017</tt></a></p>
+ </li>
- <dt><a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2018">vte-2018</a>
- </dt>
+ <li>
+ <p>use oldxterm+sm+1006 in <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-vte-2014"><tt>vte-2014</tt></a></p>
+ </li>
- <dd>add blink and setal</dd>
- </dl>
+ <li>
+ <p>modify <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-xgterm"><tt>xgterm</tt></a>
+ to work around line-drawing bug</p>
+ </li>
- <p>A few entries use extensions (user-defined terminal
- capabilities):</p>
+ <li>
+ <p>add xterm focus mode 1004 to <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a>
+ as fe/fd capabilities, like vim.</p>
+ </li>
- <ul>
<li>
- <p>use <tt>ansi+enq</tt> and <tt>decid+cpr</tt> in cases
- where the terminal probably supported the u6-u9 extension</p>
+ <p>add xterm+focus to <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-alacritty_common"><tt>alacritty+common</tt></a></p>
</li>
<li>
- <p>remove u6-u9 from teken-2018</p>
+ <p>add XR/xr, to work with vim, and use RV/rv to denote DA2
+ and its response</p>
</li>
<li>
- <p>use <tt>NQ</tt> to flag entries where the terminal does
- not support query and response</p>
+ <p>add XF flag to <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm_focus"><tt>xterm+focus</tt></a>
+ so that termcap applications can be aware of terminals which
+ may support focus in/out</p>
</li>
<li>
- <p>add/use <a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-bracketed_paste"><tt>bracketed+paste</tt></a>
- to help identify terminals supporting this xterm feature</p>
+ <p>use xterm+focus in <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-p370"><tt>xterm-p370</tt></a>
+ and <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p>
</li>
<li>
- <p>modify samples for xterm mouse 1002/1003 modes to use 1006
- mode, and also provide for focus in/out responses</p>
+ <p>remove xterm+sm+1006 from <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-tmux"><tt>tmux</tt></a></p>
</li>
<li>
- <p>xterm patch #371 supports DEC-compatible status-line. add
- <tt>dec+sl</tt> to xterm-new, per xterm #371, add <a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-p371"><tt>xterm-p371</tt></a>,
- add <a href=
- "https://invisible-island.net/ncurses/terminfo.src.html#tic-xterm-p370"><tt>xterm-p370</tt></a>,
- for use in older terminals, and set “xterm-new”
- to “xterm-p370” (to ease adoption).</p>
+ <p>NetBSD-related fixes for <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-x68k"><tt>x68k</tt></a> and
+ <a href=
+ "https://invisible-island.net/ncurses/terminfo.src.html#tic-wsvt25"><tt>wsvt25</tt></a></p>
</li>
</ul>
<ul>
<li>
- <p>remove a stray '/' from description of <tt>%g</tt> in
- <a href=
- "https://invisible-island.net/ncurses/man/terminfo.5.html#h3-Parameterized-Strings">
- terminfo(5)</a>.</p>
+ <p>add assignment in <code>CF_MAN_PAGES</code> to fill in
+ value for <code>TERMINFO_DIRS</code> in ncurses, terminfo
+ and tic manpages.</p>
</li>
<li>
- <p>correct/improve font-formatting in <a href=
- "https://invisible-island.net/ncurses/man/curs_getch.3x.html">curs_getch.3x</a>, as
- well as other manual pages.</p>
+ <p>clarify interaction of <code>-R</code> option versus
+ <code>-C</code>, <code>-I</code> and <code>-r</code> in
+ <code>infocmp</code> manpage.</p>
</li>
- </ul>
- </li>
-
- <li>
- <p>New/improved history and portability sections:</p>
- <ul>
<li>
- <p>add portability notes for <a href=
- "https://invisible-island.net/ncurses/man/curs_initscr.3x.html#h2-PORTABILITY">delscreen</a>
- and <a href=
- "https://invisible-island.net/ncurses/man/curs_window.3x.html#h2-PORTABILITY">delwin</a>
- in manual.</p>
+ <p>correct manpage description of panel_hidden.</p>
</li>
<li>
- <p>improve <a href=
- "https://invisible-island.net/ncurses/man/curs_slk.3x.html#h2-EXTENSIONS">curs_slk.3x</a>
- discussion of extensions and portability</p>
+ <p>improve manpage description for addch versus unctrl
+ format used for non-printable characters.</p>
</li>
- </ul>
- </li>
- <li>
- <p>Other improvements:</p>
-
- <ul>
<li>
- <p>improve <a href=
- "https://invisible-island.net/ncurses/man/curs_bkgd.3x.html">curs_bkgd.3x</a>,
- explaining that <tt>bkgdset</tt> can affect results for
- <tt>bkgd</tt></p>
+ <p>improve manpages discussing file descriptors in
+ low-level functions.</p>
</li>
<li>
- <p>add note on portable memory-leak checking in <a href=
- "https://invisible-island.net/ncurses/man/curs_memleaks.3x.html#h2-PORTABILITY">curs_memleaks.3x</a></p>
+ <p>improve description of search rules for terminal
+ descriptions in terminfo manpage.</p>
</li>
<li>
- <p>expanded description in <a href=
- "https://invisible-island.net/ncurses/man/resizeterm.3x.html">resizeterm.3x</a></p>
+ <p>modify dist.mk to avoid passing developer's comments
+ in manpages into the generated html documentation.</p>
</li>
<li>
- <p>add section on releasing memory to <a href=
- "https://invisible-island.net/ncurses/man/curs_termcap.3x.html#h3-Releasing-Memory">
- curs_termcap.3x</a> and <a href=
- "https://invisible-island.net/ncurses/man/curs_terminfo.3x.html#h3-Releasing-Memory">
- curs_terminfo.3x</a> manpages.</p>
+ <p>modify test-package "ncurses6-doc" to use
+ manpage-aliases, which in turn required a change to the
+ configure script to factor in the extra-suffix option
+ when deriving alias names.</p>
</li>
+ </ul>
+ </li>
+ <li>
+ <p>New/improved history and portability sections:</p>
+
+ <ul>
<li>
- <p>add clarification of the scope of dynamic variables in
- <a href=
- "https://invisible-island.net/ncurses/man/terminfo.5.html">terminfo(5)</a>.</p>
+ <p>add information about "ttycap", termcap's forerunner,
+ to tset.1</p>
</li>
<li>
- <p>improve formatting of <a href=
- "https://invisible-island.net/ncurses/ncurses-intro.html">ncurses-intro.html</a>
- and <a href=
- "https://invisible-island.net/ncurses/hackguide.html">hackguide.html</a></p>
+ <p>document limitations of tparm, and error-returns in
+ curs_terminfo.3x</p>
</li>
<li>
- <p>improve <a href=
- "https://invisible-island.net/ncurses/man/curs_clear.3x.html">curs_clear.3x</a>
- links to other pages</p>
+ <p>document limitations of tgoto, and error-returns in
+ curs_termcap.3x</p>
</li>
+ </ul>
+ </li>
+
+ <li>
+ <p>Other improvements:</p>
+ <ul>
<li>
- <p>update <a href=
- "https://invisible-island.net/ncurses/howto/NCURSES-Programming-HOWTO.html">ncurses-howto</a>,
- making documentation fixes along with corrections to
- example programs.</p>
+ <p>This release has many changes to improve the
+ formatting and style of the manpages.</p>
</li>
<li>
- <p>use newer version 1.36 of gnathtml for generating Ada
- html files.</p>
+ <p>Manpages now use consistent section-naming, page
+ headers and footers (including the modification date for
+ each page).</p>
</li>
<li>
- <p>update external links in <a href=
- "https://invisible-island.net/ncurses/Ada95.html">Ada95.html</a></p>
+ <p>Table layout has been revised.</p>
</li>
</ul>
</li>
<h3><a name="h3-bug-fixes" id="h3-bug-fixes">Interesting
bug-fixes</a></h3>
- <p>While there were many bugs fixed during development of ncurses
- 6.4, only a few (the reason for this release) were both important
- and interesting. Most of the bug-fixes were for local issues
- which did not affect compatibility across releases. Since those
- are detailed in the <a href=
- "https://invisible-island.net/ncurses/NEWS.html#t20221231">NEWS</a> file no elaboration is
- needed here.</p>
+ <p>The changes to <tt>tparm</tt>, <tt>tgoto</tt> which improve
+ the design of the low-level interfaces are <em>interesting</em>,
+ but are not bug-fixes <em>per se</em>.</p>
+
+ <h3><a name="h3-config-config" id=
+ "h3-config-config">Configuration changes</a></h3>
+
+ <h4><a name="h4-config-major" id="h4-config-major">Major
+ changes</a></h4>
- <p>The interesting bugs were those dealing with memory leaks and
- buffer overflows. Although the utilities are designed for
- <em>text</em> files (which they do properly), some choose to test
- them with <strong>non-</strong><em>text</em> files.</p>
+ <p>These are the major changes (aside from introducing <a href=
+ "#h4-new-library"><tt>tiparm_s</tt></a>):</p>
<ul>
<li>
- <p>Text files contain no embedded nulls. Also, they end with
- a newline. Feeding <strong>tic</strong> non-text files
- exposed a few cases where the program did not check for those
- issues. As a result, further processing of the input found
- limit-checks whose assumptions were invalid.</p>
+ <p>use wide-character (ncursesw) by default</p>
</li>
<li>
- <p>Fixing the limit-checks (first) found a problem with
- <strong>tic</strong> managing the list of strings in a
- terminal description. In merging two terminal descriptions
- (i.e., the “use=” feature), <strong>tic</strong>
- was not allocating a complete copy. A quick repair for that
- introduced a memory leak.</p>
+ <p>use opaque typedefs by default</p>
</li>
+ </ul>
+ <p>However, most of the work on configure scripts was done to
+ reduce warnings within the configure script:</p>
+
+ <ul>
<li>
- <p>The checks for non-text files are improved (i.e., embedded
- nulls in the input file will cause <strong>tic</strong> to
- reject it rather than attempting to process it).</p>
+ <p>intrusive warnings from GNU grep regarding fgrep and
+ egrep</p>
</li>
<li>
- <p>The string allocations in <strong>tic</strong> are
- likewise improved.</p>
+ <p>fatal errors in compile-checks, arising from recent
+ “Modern C” efforts by some developers which
+ caused longstanding configure checks to fail.</p>
+
+ <p>After repairing the configure script, none of that
+ activity affected ncurses because stricter warnings are used
+ routinely in development.</p>
</li>
</ul>
- <h3><a name="h3-config-config" id=
- "h3-config-config">Configuration changes</a></h3>
+ <p>Other improvements made to configure checks include</p>
- <h4><a name="h4-config-major" id="h4-config-major">Major
- changes</a></h4>
+ <ul>
+ <li>
+ <p>use <a href=
+ "https://invisible-island.net/ncurses/INSTALL.html#option:enable-string-hacks">string-hacks</a>
+ in alloc_entry.c, alloc_type.c and hardscroll.c, overlooked
+ due to compiler changes in recent OpenBSD releases</p>
+ </li>
+
+ <li>
+ <p>revise progs.priv.h to provide for NC_ISATTY reuse</p>
+ </li>
+
+ <li>
+ <p>configure check for MB_LEN_MAX provides warning as
+ needed</p>
+ </li>
+
+ <li>
+ <p>trim a space after some "-R" options, fixing builds for
+ applications built using clang and ncurses on Solaris</p>
+ </li>
- <p>There are no major changes. No new options were added. Several
- improvements were made to configure checks.</p>
+ <li>
+ <p>work around misconfiguration of MacPorts gcc13, which
+ exposes invalid definition of <tt>MB_LEN_MAX</tt> in gcc's
+ fallback copy of <tt>limits.h</tt></p>
+ </li>
+
+ <li>
+ <p>modified experimental Windows driver works with xterm
+ mouse protocol</p>
+ </li>
+ </ul>
<h4><a name="h4-config-options" id=
"h4-config-options">Configuration options</a></h4>
- <p>There are a few new/modified configure options:</p>
+ <p>There are a few new configure options:</p>
<dl>
- <dt><tt>--with-abi-version</tt>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/INSTALL.html#option:disable-setuid-environ"><tt>--disable-setuid-environ</tt></a>
</dt>
<dd>
- <p>add ABI 7 defaults to configure script.</p>
+ <p>Compile with environment restriction, so certain
+ environment variables are not available when running via a
+ setuid/setgid application. These are (for example
+ <tt>$TERMINFO</tt>) those that allow the search path for the
+ terminfo or termcap entry to be customized.</p>
+
+ <p>A setuid/setgid application inherits its environment
+ variables from the current user, in contrast to sudo which
+ may limit the environment variables that ncurses uses.</p>
</dd>
- <dt><tt>--with-caps</tt>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/INSTALL.html#option:enable-check-size"><tt>--enable-check-size</tt></a>
</dt>
<dd>
- <p>add warning in configure script if file specified for
- “<tt>--with-caps</tt>” does not exist.</p>
+ <p>Compile-in feature to detect screensize for terminals
+ which do not advertise their screensize, e.g., serial
+ terminals.</p>
</dd>
- <dt><tt>--with-manpage-format</tt>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/INSTALL.html#option:with-abi-altered"><tt>--with-abi-altered=<em>NUM</em></tt></a>
</dt>
<dd>
- <p>bzip2 and xz compression are now supported</p>
+ <p>Override the displayed (rather than compiled-in) ABI. Only
+ packagers who have created configurations where the ABI
+ differs from ncurses should be interested in this option.</p>
</dd>
- <dt><tt>--with-xterm-kbs</tt>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/INSTALL.html#option:with-strip-program"><tt>--with-strip-program=<em>XXX</em></tt></a>
</dt>
<dd>
- <p>add check/warning in configure script if option
- “<tt>--with-xterm-kbs</tt>” is missing or
- inconsistent</p>
+ <p>When stripping executables during install, use the
+ specified program rather than “strip” overriding
+ program chosen by the install program for stripping
+ executables.</p>
+ </dd>
+ </dl>
+
+ <p>These configure options are modified:</p>
+
+ <dl>
+ <dt><a href=
+ "https://invisible-island.net/ncurses/INSTALL.html#option:with-pkg-config-libdir"><tt>--with-pkg-config-libdir[=<em>DIR</em>]</tt></a>
+ </dt>
+
+ <dd>
+ <p>The optional <em>DIR</em> parameter can now be
+ “auto” to automatically use pkg-config's library
+ directory.</p>
+
+ <p>The default is <tt>$(libdir)</tt>.</p>
+ </dd>
+
+ <dt><a href=
+ "https://invisible-island.net/ncurses/INSTALL.html#option:with-xterm-kbs"><tt>--with-xterm-kbs[=<em>XXX</em>]</tt></a>
+ </dt>
+
+ <dd>
+ <p>The default is “auto” which tells the
+ configure script to choose BS or DEL according to platform
+ defaults.</p>
</dd>
</dl>
<ul>
<li>
- <p>amend configure option's auto-search to account for
- systems where none of the directories known to
- <em>pkg-config</em> exist</p>
+ <p>add/use configure check for <code>clock_gettime</code>, to
+ supersede <code>gettimeofday</code>.</p>
</li>
<li>
- <p>corrected regex needed for older <em>pkg-config</em> used
- in Solaris 10</p>
+ <p>modify configure script check for pkg-config library
+ directory to take into account an older version 0.15.0 which
+ used PKG_CONFIG_PATH but not PKG_CONFIG_LIBDIR</p>
</li>
<li>
- <p>improve handling of <tt>--with-pkg-config-libdir</tt>
- option, allowing for the case where either
- <tt>$PKG_CONFIG_LIBDIR</tt> or the option value has a
- colon-separated list of directories</p>
+ <p>allow for MinGW32-/64-bit configurations to use
+ _DEFAULT_SOURCE</p>
</li>
<li>
- <p>if the <tt>--with-pkg-config-libdir</tt> option is not
- given, use <tt>${libdir}/pkgconfig</tt> as a default</p>
+ <p>modify CF_XOPEN_SOURCE macro's amend default case to avoid
+ undefining _XOPEN_SOURCE if _POSIX_C_SOURCE is defined</p>
</li>
<li>
- <p>improve search-path check for <em>pkg-config</em>, e.g.,
- for Debian testing which installs <em>pkg-config</em> with
- architecture-prefixes.</p>
+ <p>updated configure script macro CF_XOPEN_SOURCE, for
+ uClibc-ng</p>
</li>
<li>
- <p>build-fix for cross-compiling to MingW, conditionally add
- <tt>-lssp</tt></p>
+ <p>modify version-check for gcc/g++, now works for msys2</p>
</li>
<li>
- <p>improve configure check for <tt>getttynam</tt></p>
+ <p>build-fixes related to configure-options and/or
+ platform:</p>
+
+ <ul>
+ <li>fix for <tt>--enable-fvisibility</tt></li>
+
+ <li>fix for unusual values of
+ <tt>--with-rel-version</tt></li>
+
+ <li>fix for unusual values of
+ <tt>--with-abi-version</tt></li>
+
+ <li>fix for <tt>--disable-tcap-names</tt></li>
+
+ <li>fix for termcap in <tt>nc_access.h</tt></li>
+ </ul>
</li>
<li>
- <p>fixes to build with <em>dietlibc</em>:</p>
+ <p>other configure-script improvements:</p>
<ul>
- <li>add configure check for <tt>fpathconf</tt></li>
+ <li>recent msys2 headers work with
+ <tt>_DEFAULT_SOURCE</tt>; amend check</li>
- <li>add configure check for math sine/cosine, needed in
- test/tclock, and eliminate <tt>pow()</tt> from
- test/hanoi</li>
+ <li>use <tt>$ac_includes_default</tt> in most cases where
+ stdlib.h should work</li>
- <li>use <tt>wcsnlen</tt> as an alternative to
- <tt>wmemchr</tt> if it is not found</li>
+ <li>use <tt>#error</tt> consistently vs "make an
+ error"</li>
+
+ <li>add configure macro for <tt>gettimeofday</tt> vs inline
+ check</li>
</ul>
</li>
+ </ul>
+ <p>Here are some of the other portability fixes:</p>
+
+ <ul>
<li>
- <p>modify configure macro <tt>CF_BUILD_CC</tt> to check if
- the build-compiler works, rather than that it is different
- from the cross-compiler, e.g., to accommodate a compiler
- which can be used for either purpose with different flags</p>
+ <p>modify configure scripts/makefiles to omit
+ <tt>KEY_RESIZE</tt> if the corresponding <tt>SIGWINCH</tt>
+ feature is disabled</p>
</li>
<li>
- <p>modify configure/scripts to work around interference by
- GNU grep 3.8</p>
+ <p>increase <tt>MB_CUR_MAX</tt> to 16, matching glibc's
+ <tt>MB_LEN_MAX</tt></p>
</li>
- </ul>
- <p>Here are some of the other portability fixes:</p>
+ <li>
+ <p>add BSD <tt>erase2</tt> to characters handled by
+ tset/reset</p>
+ </li>
- <ul>
<li>
- <p>change <tt>man_db.renames</tt> to template, to handle
- <em>ncurses*-config</em> script with the
- <tt>--extra-suffix</tt> configure option.</p>
+ <p>use <tt>getauxval</tt> when available, to improve
+ <tt>setuid</tt>/<tt>setgid</tt> checks</p>
</li>
<li>
- <p>update <tt>CF_XOPEN_SOURCE</tt> macro, adding variants
- “gnueabi" and “gnueabihf" to get
- <tt>_DEFAULT_SOURCE</tt> special case, as well as adding GNU
- libc suffixes for “abi64”, “abin32”,
- “x32” to distinguish it from other libc
- flavors.</p>
+ <p>set <tt>dwShareMode</tt> in calls to
+ <tt>CreateConsoleScreenBuffer</tt></p>
</li>
<li>
- <p>work around <em>musl</em>'s nonstandard use of feature
- test macros by adding a definition for
- <tt>NCURSES_WIDECHAR</tt> to the generated “.pc”
- and <em><tt>*-config</tt></em> files.</p>
+ <p>use <tt>CreateFile</tt> with "<tt>CONIN$</tt>",
+ "<tt>CONOUT$</tt>" rather than <tt>GetStdHandle</tt> to
+ obtain a handle on the actual console, avoiding redirection
+ in the MinGW/Win32 configurations</p>
</li>
<li>
- <p>use “<tt>command -v</tt>” rather than
- “<tt>type</tt>” in <tt>Ada95/gen/Makefile.in</tt>
- to fix a portability issue.</p>
+ <p>modify MinGW driver to return <tt>KEY_BACKSPACE</tt> when
+ an unmodified <tt>VK_BACK</tt> virtual key is entered</p>
+ </li>
+
+ <li>
+ <p>modify MinGW configuration to provide for running in
+ MSYS/MSYS2 shells, assuming ConPTY support</p>
</li>
</ul>
</li>
<li>
- <p><span class="main-name">ncurses</span> supports all of the
- for SVr4 curses features including keyboard mapping, color,
- forms-drawing with ACS characters, and automatic recognition
+ <p><span class="main-name">ncurses</span> supports the
+ features of SVr4 curses including keyboard mapping, color,
+ form drawing with ACS characters, and automatic recognition
of keypad and function keys.</p>
</li>
<li>
- <p><span class="main-name">ncurses</span> provides these SVr4
- add-on libraries (not part of X/Open Curses):</p>
+ <p><span class="main-name">ncurses</span> provides work-alike
+ replacements of SVr4 supplemental libraries based on curses,
+ but which were not specified by X/Open Curses:</p>
<ul>
<li>
- <p>the panels library, supporting a stack of windows with
- backing store.</p>
+ <p>the panel library, supporting a stack of windows with
+ backing store</p>
</li>
<li>
- <p>the menus library, supporting a uniform but flexible
- interface for menu programming.</p>
+ <p>the menu library, supporting a uniform but flexible
+ interface for menu programming</p>
</li>
<li>
<p>the form library, supporting data collection through
- on-screen forms.</p>
+ on-screen forms</p>
</li>
</ul>
</li>
<ul>
<li>
<p><span class="main-name">ncurses</span> supports
- user-defined capabilities which it can see, but which are
+ user-defined capabilities that it can see, but which are
hidden from SVr4 curses applications using the
<em>same</em> terminal database.</p>
</li>
<ul>
<li>
<p>The API is 8-bit clean and base-level conformant with the
- X/OPEN curses specification, XSI curses (that is, it
- implements all <em>BASE</em> level features, and most
+ X/Open Curses specification, XSI curses (that is, it
+ implements all <em>BASE</em> level features, and almost all
<em>EXTENDED</em> features). It includes many function calls
not supported under SVr4 curses (but portability of all calls
is documented so you can use the SVr4 subset only).</p>
</li>
<li>
- <p>The library meets the XSI requirement that every macro
- entry point has a corresponding function which may be linked
- (and will be prototype-checked) if the macro definition is
- disabled with <code>#undef</code>.</p>
+ <p>X/Open Curses permits most functions it specifies to be
+ made available as macros as well. ncurses does this</p>
+
+ <ul>
+ <li>to improve performance, e.g., for operations composed
+ of simpler functions such as cursor movement following by
+ adding text to the screen,</li>
+
+ <li>to simplify the implementation by reusing functions
+ which use common parameters, e.g., the standard screen
+ <code>stdscr</code>, and</li>
+
+ <li>to provide functions that return values via their
+ parameters</li>
+ </ul>
+
+ <p>Except for the last case, ncurses provides a non-macro
+ implementation of the function. If the macro definition is
+ disabled with <code>#undef</code>, or by defining
+ <code>NCURSES_NOMACROS</code> the function may be linked (and
+ its calls will be checked against the prototype).</p>
</li>
<li>
<p>New vi uses ncurses.</p>
<p><a href=
- "https://sites.google.com/a/bostic.com/keithbostic/vi">https://sites.google.com/a/bostic.com/keithbostic/vi</a><br>
+ "https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page">
+ https://sites.google.com/a/bostic.com/keithbostic/the-berkeley-vi-editor-home-page</a><br>
</p>
</dd>
<p>terminal emulator for serial modem connections</p>
<p><a href=
- "https://alioth.debian.org/projects/minicom/">https://alioth.debian.org/projects/minicom/</a></p>
+ "https://salsa.debian.org/minicom-team/minicom">https://salsa.debian.org/minicom-team/minicom</a></p>
</dd>
<dt><span class="part-name">mosh</span>
<blockquote>
<p><a href=
- "https://invisible-island.net/archives/ncurses/6.3/">https://invisible-island.net/archives/ncurses/6.3/</a>
+ "https://invisible-island.net/archives/ncurses/6.4/">https://invisible-island.net/archives/ncurses/6.4/</a>
and<br>
<a href=
- "https://invisible-mirror.net/archives/ncurses/6.3/">https://invisible-mirror.net/archives/ncurses/6.3/</a> .</p>
+ "https://invisible-mirror.net/archives/ncurses/6.4/">https://invisible-mirror.net/archives/ncurses/6.4/</a> .</p>
</blockquote>
<p>There is an archive of the mailing list here:</p>
<blockquote>
<p><a href=
- "http://lists.gnu.org/archive/html/bug-ncurses">http://lists.gnu.org/archive/html/bug-ncurses</a>
- (also <a href=
- "https://lists.gnu.org/archive/html/bug-ncurses">https</a>)</p>
+ "https://lists.gnu.org/archive/html/bug-ncurses">https://lists.gnu.org/archive/html/bug-ncurses</a> .</p>
</blockquote>
<h2><a name="h2-this-stuff" id="h2-this-stuff">Related
<a href="http://www.catb.org/~esr/terminfo/">Eric
Raymond</a> . Unlike the older version, the termcap and
terminfo data are provided in the same file, which also provides
- several user-definable extensions beyond the X/Open
+ several user-definable extensions beyond the X/Open Curses
specification.</p>
<p>You can find lots of information on terminal-related topics
- not covered in the terminfo file at <a href=
- "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">
- Richard Shuford's archive</a> . The collection of computer
- manuals at <a href=
+ not covered in the terminfo file in <a href=
+ "https://shuford.invisible-island.net/">Richard Shuford's
+ archive</a> (<a href=
+ "http://web.archive.org/web/*/http://www.cs.utk.edu/~shuford/terminal">original</a>).
+ The collection of computer manuals at <a href=
"http://www.bitsavers.org/pdf/">bitsavers.org</a> has also been
useful.</p>
<!--
****************************************************************************
- * Copyright 2019-2021,2023 Thomas E. Dickey *
+ * Copyright 2019-2023,2024 Thomas E. Dickey *
* Copyright 2010-2014,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKada_config.in,v 1.32 2023/12/16 21:42:53 tom Exp @
+ * @Id: MKada_config.in,v 1.35 2024/04/20 21:13:27 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>adacursesw6\-config 1 2023-12-16 ncurses 6.4 User commands</TITLE>
+<TITLE>adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">adacursesw6\-config 1 2023-12-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
-ncurses 6.4 2023-12-16 <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>captoinfo 1m 2024-03-23 ncurses 6.4 User commands</TITLE>
+<TITLE>captoinfo 1m 2024-03-23 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">captoinfo 1m 2024-03-23 ncurses 6.4 User commands</H1>
+<H1 class="no-header">captoinfo 1m 2024-03-23 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG> User commands <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
-ncurses 6.4 2024-03-23 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
+ncurses 6.5 2024-03-23 <STRONG><A HREF="captoinfo.1m.html">captoinfo(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>clear 1 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>clear 1 2024-03-16 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">clear 1 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">clear 1 2024-03-16 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="clear.1.html">clear(1)</A></STRONG> User commands <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="clear.1.html">clear(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wch.3x,v 1.59 2024/04/13 22:11:52 tom Exp @
+ * @Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
sequence of bytes, or if it is not possible to add all of the
resulting bytes in the window, an error is returned.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- defaults specified for line-drawing characters apply in the POSIX
- locale.
+ These functions are described in X/Open Curses, Issue 4. The defaults
+ specified for line-drawing characters apply in the POSIX locale.
</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_add_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp @
+ * @Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wchstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_add_wchstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_add_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addch.3x,v 1.83 2024/04/13 22:23:35 tom Exp @
+ * @Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
enabled in that event, because it is not possible to wrap to a new
line.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>WINDOW</EM> pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4 describes these functions. It specifies no
- error conditions for them. The defaults specified for forms-drawing
- characters apply in the POSIX locale.
+ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
+
+ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addchstr.3x,v 1.42 2024/04/13 22:21:16 tom Exp @
+ * @Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addchstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addchstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addstr.3x,v 1.43 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_addstr.3x,v 1.45 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
<STRONG>o</STRONG> if an internal <STRONG><A HREF="curs_addch.3x.html">waddch(3x)</A></STRONG> call returns an error.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>WINDOW</EM> pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its wide-character configuration (<EM>ncursesw</EM>).
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_addchstr.3x.html">curs_addchstr(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_addwstr.3x,v 1.35 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_addwstr.3x,v 1.37 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_addwstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_addwstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_addwstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_addwstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
<STRONG>o</STRONG> if an internal <STRONG><A HREF="curs_add_wch.3x.html">wadd_wch(3x)</A></STRONG> call returns an error.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>WINDOW</EM> pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its non-wide-character configuration.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_attr.3x,v 1.99 2024/03/16 15:38:33 tom Exp @
+ * @Id: curs_attr.3x,v 1.105 2024/04/27 17:54:42 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_attr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_attr 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_attr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_attr 3x 2024-04-27 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
<STRONG>o</STRONG> does not return an error if either of the parameters of <STRONG>wattr_get</STRONG>
used for retrieving attribute or color pair values is <STRONG>NULL</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
These functions may be macros:
- <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
+ <STRONG>attroff</STRONG>, <STRONG>wattroff</STRONG>, <STRONG>attron</STRONG>, <STRONG>wattron</STRONG>, <STRONG>attrset</STRONG>, <STRONG>wattrset</STRONG>, <STRONG>standend</STRONG>
and <STRONG>standout</STRONG>.
- Color pair values can only be OR'd with attributes if the pair number
+ Color pair values can only be OR'd with attributes if the pair number
is less than 256. The alternate functions such as <STRONG>color_set</STRONG> can pass a
color pair value directly. However, <EM>ncurses</EM> ABI 4 and 5 simply OR this
- value within the alternate functions. You must use <EM>ncurses</EM> ABI 6 to
+ value within the alternate functions. You must use <EM>ncurses</EM> ABI 6 to
support more than 256 color pairs.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
This implementation provides the <STRONG>A_ITALIC</STRONG> attribute for terminals which
- have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>)
- capabilities. Italics are not mentioned in X/Open Curses. Unlike the
- other video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG>
- capabilities. This implementation makes the assumption that
+ have the <STRONG>enter_italics_mode</STRONG> (<STRONG>sitm</STRONG>) and <STRONG>exit_italics_mode</STRONG> (<STRONG>ritm</STRONG>)
+ capabilities. Italics are not mentioned in X/Open Curses. Unlike the
+ other video attributes, <STRONG>A_ITALIC</STRONG> is unrelated to the <STRONG>set_attributes</STRONG>
+ capabilities. This implementation makes the assumption that
<STRONG>exit_attribute_mode</STRONG> may also reset italics.
- Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
- X/Open Curses still (after more than twenty years) documents as
+ Each of the functions added by XSI Curses has a parameter <EM>opts</EM>, which
+ X/Open Curses still (after more than twenty years) documents as
reserved for future use, saying that it should be <STRONG>NULL</STRONG>. This
- implementation uses that parameter in ABI 6 for the functions which
+ implementation uses that parameter in ABI 6 for the functions which
have a color pair parameter to support <EM>extended</EM> <EM>color</EM> <EM>pairs</EM>:
<STRONG>o</STRONG> For functions which modify the color, e.g., <STRONG>wattr_set</STRONG> and <STRONG>wattr_on</STRONG>,
- if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used to set
+ if <EM>opts</EM> is set it is treated as a pointer to <STRONG>int</STRONG>, and used to set
the color pair instead of the <STRONG>short</STRONG> <EM>pair</EM> parameter.
<STRONG>o</STRONG> For functions which retrieve the color, e.g., <STRONG>wattr_get</STRONG>, if <EM>opts</EM> is
- set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
- color pair as an <STRONG>int</STRONG> value, in addition to retrieving it via the
+ set it is treated as a pointer to <STRONG>int</STRONG>, and used to retrieve the
+ color pair as an <STRONG>int</STRONG> value, in addition to retrieving it via the
standard pointer to <STRONG>short</STRONG> parameter.
- <STRONG>o</STRONG> For functions which turn attributes off, e.g., <STRONG>wattr_off</STRONG>, the <EM>opts</EM>
+ <STRONG>o</STRONG> For functions which turn attributes off, e.g., <STRONG>wattr_off</STRONG>, the <EM>opts</EM>
parameter is ignored except except to check that it is <STRONG>NULL</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- standard defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was
- not defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were
- not supported under SVr4.
+ These functions are described in X/Open Curses, Issue 4. The standard
+ defined the dedicated type for highlights, <STRONG>attr_t</STRONG>, which was not
+ defined in SVr4 curses. The functions taking <STRONG>attr_t</STRONG> arguments were not
+ supported under SVr4.
Very old versions of this library did not force an update of the screen
- when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
+ when changing the attributes. Use <STRONG>touchwin</STRONG> to force the screen to
match the updated attributes.
- The XSI Curses standard states that whether the traditional functions
- <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
- <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
- Under this implementation as well as SVr4 curses, these functions
- correctly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
+ X/Open Curses states that whether the traditional functions
+ <STRONG>attron</STRONG>/<STRONG>attroff</STRONG>/<STRONG>attrset</STRONG> can manipulate attributes other than <STRONG>A_BLINK</STRONG>,
+ <STRONG>A_BOLD</STRONG>, <STRONG>A_DIM</STRONG>, <STRONG>A_REVERSE</STRONG>, <STRONG>A_STANDOUT</STRONG>, or <STRONG>A_UNDERLINE</STRONG> is "unspecified".
+ Under this implementation as well as SVr4 curses, these functions
+ correctly manipulate all other highlights (specifically, <STRONG>A_ALTCHARSET</STRONG>,
<STRONG>A_PROTECT</STRONG>, and <STRONG>A_INVIS</STRONG>).
- XSI Curses added these entry points:
+ X/Open Curses added these entry points:
<STRONG>attr_get</STRONG>, <STRONG>attr_on</STRONG>, <STRONG>attr_off</STRONG>, <STRONG>attr_set</STRONG>, <STRONG>wattr_on</STRONG>, <STRONG>wattr_off</STRONG>,
<STRONG>wattr_get</STRONG>, <STRONG>wattr_set</STRONG>
- The new functions are intended to work with a new series of highlight
+ The new functions are intended to work with a new series of highlight
macros prefixed with <STRONG>WA_</STRONG>. The older macros have direct counterparts in
the newer set of names:
<STRONG>WA_ALTCHARSET</STRONG> Alternate character set
- XSI curses does not assign values to these symbols, nor does it state
- whether or not they are related to the similarly-named A_NORMAL, etc.:
+ X/Open Curses does not assign values to these symbols, nor does it
+ state whether or not they are related to the similarly-named A_NORMAL,
+ etc.:
- <STRONG>o</STRONG> The XSI curses standard specifies that each pair of corresponding
- <STRONG>A_</STRONG> and <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
+ <STRONG>o</STRONG> X/Open Curses specifies that each pair of corresponding <STRONG>A_</STRONG> and
+ <STRONG>WA_</STRONG>-using functions operates on the same current-highlight
information.
<STRONG>o</STRONG> However, in some implementations, those symbols have unrelated
This is consistent with SVr4 curses; X/Open Curses does not specify
this.
- The XSI standard extended conformance level adds new highlights
+ The X/Open Curses extended conformance level adds new highlights
<STRONG>A_HORIZONTAL</STRONG>, <STRONG>A_LEFT</STRONG>, <STRONG>A_LOW</STRONG>, <STRONG>A_RIGHT</STRONG>, <STRONG>A_TOP</STRONG>, <STRONG>A_VERTICAL</STRONG> (and
corresponding <STRONG>WA_</STRONG> macros for each). As of August 2013, no known
terminal provides these highlights (i.e., via the <STRONG>sgr1</STRONG> capability).
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
+ncurses 6.5 2024-04-27 <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_beep.3x,v 1.27 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_beep.3x,v 1.29 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_beep 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_beep 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_beep 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_beep 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
- Like SVr4, it specifies that they always return <STRONG>OK</STRONG>.
+ These functions are described in X/Open Curses, Issue 4. Like SVr4, it
+ specifies that they always return <STRONG>OK</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_beep.3x.html">curs_beep(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgd.3x,v 1.59 2024/03/23 19:58:58 tom Exp @
+ * @Id: curs_bkgd.3x,v 1.61 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgd 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgd 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgd 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgd 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies that
+ X/Open Curses, Issue 4 describes these functions. It specifies that
<STRONG>bkgd</STRONG>, <STRONG>wbkgd</STRONG>, and <STRONG>getbkgd</STRONG> return <STRONG>ERR</STRONG> on failure (in the case of the
last, this value is cast to <EM>chtype</EM>), but describes no failure
conditions.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_bkgd.3x.html">curs_bkgd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_bkgrnd.3x,v 1.40 2024/03/23 19:59:45 tom Exp @
+ * @Id: curs_bkgrnd.3x,v 1.42 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_bkgrnd 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_bkgrnd 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_bkgrnd 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_bkgrnd 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
X/Open Curses does not provide details of how the rendition is updated.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_bkgrnd.3x.html">curs_bkgrnd(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border.3x,v 1.46 2024/03/16 15:38:43 tom Exp @
+ * @Id: curs_border.3x,v 1.49 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
X/Open Curses does not specify any error conditions. This
implementation returns an error if the window pointer is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The borders generated by these functions are <EM>inside</EM> borders (this is
+ The borders generated by these functions are <EM>inside</EM> borders (this is
also true of SVr4 curses, though the fact is not documented).
Note that <STRONG>border</STRONG> and <STRONG>box</STRONG> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_border_set.3x,v 1.33 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_border_set.3x,v 1.36 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_border_set 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_border_set 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_border_set 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_border_set 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
Functions using a window parameter return an error if it is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
+ Note that <STRONG>border_set</STRONG>, <STRONG>hline_set</STRONG>, <STRONG>mvhline_set</STRONG>, <STRONG>mvvline_set</STRONG>,
<STRONG>mvwhline_set</STRONG>, <STRONG>mvwvline_set</STRONG>, and <STRONG>vline_set</STRONG> may be macros.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_clear.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_clear.3x,v 1.48 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_clear 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_clear 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_clear 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_clear 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
The SVr4.0 manual says that these functions could return "or a non-
negative integer if <STRONG>immedok</STRONG> is set", referring to the return-value of
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_color.3x,v 1.98 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_color.3x,v 1.100 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_color 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_color 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_color 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_color 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
- This implementation satisfies XSI Curses's minimum maximums for <STRONG>COLORS</STRONG>
- and <STRONG>COLOR_PAIRS</STRONG>.
+ This implementation satisfies X/Open Curses's minimum maximums for
+ <STRONG>COLORS</STRONG> and <STRONG>COLOR_PAIRS</STRONG>.
The <STRONG>init_pair</STRONG> routine accepts negative values of foreground and
background color to support the <STRONG><A HREF="default_colors.3x.html">use_default_colors(3x)</A></STRONG> extension, but
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_delch.3x,v 1.32 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_delch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_delch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_delch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_delch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
- <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete the character at the cursor
- in a <EM>curses</EM> window
+ <STRONG>delch</STRONG>, <STRONG>wdelch</STRONG>, <STRONG>mvdelch</STRONG>, <STRONG>mvwdelch</STRONG> - delete a character from a <EM>curses</EM>
+ window
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines delete the character under the cursor; all characters to
- the right of the cursor on the same line are moved to the left one
- position and the last character on the line is filled with a blank.
- The cursor position does not change (after moving to <EM>y</EM>, <EM>x</EM>, if
- specified). (This does not imply use of the hardware delete character
- feature.)
+ <STRONG>wdelch</STRONG> deletes the character at the cursor position in <EM>win</EM>.
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the variants of this function.
+
+ <STRONG>wdelch</STRONG> moves all characters to the right of the cursor on the same line
+ to the left one position and replaces the contents of the rightmost
+ position on the line with the window's blank character; see <STRONG><A HREF="curs_bkgd.3x.html">bkgd(3x)</A></STRONG>
+ (wide-character API users may consult <STRONG><A HREF="curs_bkgrnd.3x.html">bkgrnd(3x)</A></STRONG> instead). The cursor
+ position does not change (after moving to (<EM>y</EM>, <EM>x</EM>), if specified).
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- All routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
- completion.
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+ Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be macros.
+ <STRONG>delch</STRONG>, <STRONG>mvdelch</STRONG>, and <STRONG>mvwdelch</STRONG> may be implemented as macros.
+
+ A terminal's <STRONG>delete_character</STRONG> (<STRONG>dch1</STRONG>) capability is not necessarily
+ employed.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
- error conditions.
+ X/Open Curses, Issue 4 describes these functions.
+
+ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_delch.3x.html">curs_delch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_deleteln.3x,v 1.36 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_deleteln 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_deleteln 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_deleteln 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. The
- standard specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no
- error conditions.
+ These functions are described in X/Open Curses, Issue 4. The standard
+ specifies that they return <STRONG>ERR</STRONG> on failure, but specifies no error
+ conditions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_extend 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_extend 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_extend 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_extend.3x.html">curs_extend(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wch.3x,v 1.38 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>mvget_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwget_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>wint_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unget_wch(const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
<STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set
to <STRONG>EINTR</STRONG>.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>win</EM> parameter is a null pointer.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
<STRONG>unget_wch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
input queue.
All of these functions except <STRONG>wget_wch</STRONG> and <STRONG>unget_wch</STRONG> may be implemented
as macros.
- Unlike <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG>wget_wch</STRONG> and its variants store the value of the
- input character in an additional <EM>wch</EM> parameter instead of the return
+ Unlike <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG>, <STRONG>wget_wch</STRONG> and its variants store the value of the
+ input character in an additional <EM>wch</EM> parameter instead of the return
value.
- Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes
- <STRONG>wget_wch</STRONG> from conventional character codes. An application can
+ Unlike <STRONG>ungetch</STRONG>, <STRONG>unget_wch</STRONG> cannot distinguish function key codes
+ <STRONG>wget_wch</STRONG> from conventional character codes. An application can
overcome this limitation by pushing function key codes with <STRONG>ungetch</STRONG> and
- subsequently checking the return value of <STRONG>wget_wch</STRONG> for a match with
+ subsequently checking the return value of <STRONG>wget_wch</STRONG> for a match with
<STRONG>KEY_CODE_YES</STRONG>.
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
- See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
+ See the "PORTABILITY" section of <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> regarding the interaction
of <STRONG>wget_wch</STRONG> with signal handlers.
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
its non-wide-character configuration.
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>, <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>,
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_get_wstr.3x,v 1.46 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_get_wstr.3x,v 1.48 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_get_wstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_get_wstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_get_wstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_get_wstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the associated call to <STRONG>wget_wch</STRONG> failed.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Any of these functions other than <STRONG>wgetn_wstr</STRONG> may be macros.
- Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
- that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
- The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>,
+ Using <STRONG>get_wstr</STRONG>, <STRONG>mvget_wstr</STRONG>, <STRONG>mvwget_wstr</STRONG>, or <STRONG>wget_wstr</STRONG> to read a line
+ that overflows the array pointed to by <STRONG>wstr</STRONG> causes undefined results.
+ The use of <STRONG>getn_wstr</STRONG>, <STRONG>mvgetn_wstr</STRONG>, <STRONG>mvwgetn_wstr</STRONG>, or <STRONG>wgetn_wstr</STRONG>,
respectively, is recommended.
- These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
+ These functions cannot return <STRONG>KEY_</STRONG> values because there is no way to
distinguish a <STRONG>KEY_</STRONG> value from a valid <STRONG>wchar_t</STRONG> value.
These functions are described in The Single Unix Specification, Version
2. No error conditions are defined.
- This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
- the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>. In the latter case, an
- <STRONG>ERR</STRONG> return without other data is treated as an end-of-file condition,
+ This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
+ the lower-level <STRONG>wget_wch</STRONG> call returns an <STRONG>ERR</STRONG>. In the latter case, an
+ <STRONG>ERR</STRONG> return without other data is treated as an end-of-file condition,
and the returned array contains a <STRONG>WEOF</STRONG> followed by a null <STRONG>wchar_t</STRONG>.
X/Open curses documented these functions to pass an array of <STRONG>wchar_t</STRONG> in
1997, but that was an error because of this part of the description:
The effect of <STRONG>get_wstr</STRONG> is as though a series of calls to <STRONG>get_wch</STRONG>
- were made, until a newline character, end-of-line character, or
+ were made, until a newline character, end-of-line character, or
end-of-file character is processed.
- The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
- is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>,
+ The latter function <EM>get</EM><STRONG>_</STRONG><EM>wch</EM> can return a negative value, while <STRONG>wchar_t</STRONG>
+ is a unsigned type. All of the vendors implement this using <STRONG>wint_t</STRONG>,
following the standard.
X/Open Curses, Issue 7 (2009) is unclear regarding whether the
- terminating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>.
+ terminating <EM>null</EM> <STRONG>wchar_t</STRONG> value is counted in the length parameter <EM>n</EM>.
X/Open Curses, Issue 7 revised the corresponding description of
- <STRONG>wgetnstr</STRONG> to address this issue. The unrevised description of
- <STRONG>wget_nwstr</STRONG> can be interpreted either way. This implementation counts
+ <STRONG>wgetnstr</STRONG> to address this issue. The unrevised description of
+ <STRONG>wget_nwstr</STRONG> can be interpreted either way. This implementation counts
the terminator in the length.
- X/Open Curses does not specify what happens if the length <EM>n</EM> is
+ X/Open Curses does not specify what happens if the length <EM>n</EM> is
negative.
- <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, <EM>ncurses</EM> 6.2 uses a limit (based on
+ <STRONG>o</STRONG> For analogy with <STRONG>wgetnstr</STRONG>, <EM>ncurses</EM> 6.2 uses a limit (based on
<STRONG>LINE_MAX</STRONG>).
- <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
+ <STRONG>o</STRONG> Some other implementations (such as Solaris xcurses) do the same,
while others (PDCurses) do not allow this.
- <STRONG>o</STRONG> NetBSD 7 curses imitates <EM>ncurses</EM> 6.1 in this regard, treating a <STRONG>-1</STRONG>
+ <STRONG>o</STRONG> NetBSD 7 curses imitates <EM>ncurses</EM> 6.1 in this regard, treating a <STRONG>-1</STRONG>
as an indefinite number of characters.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its non-wide-character configuration.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getcchar.3x,v 1.47 2024/04/13 22:08:22 tom Exp @
+ * @Id: curs_getcchar.3x,v 1.49 2024/04/20 18:55:09 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getcchar 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getcchar 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getcchar 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getcchar 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
<STRONG>int</STRONG> <STRONG>getcchar(</STRONG>
- <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
- <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG>
<STRONG>attr_t</STRONG> <STRONG>*</STRONG><EM>attrs</EM><STRONG>,</STRONG>
<STRONG>short</STRONG> <STRONG>*</STRONG><EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
<STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>setcchar(</STRONG>
- <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>,</STRONG>
- <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>,</STRONG>
+ <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>,</STRONG>
<STRONG>const</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG>
<STRONG>short</STRONG> <EM>color</EM><STRONG>_</STRONG><EM>pair</EM><STRONG>,</STRONG>
<STRONG>const</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG><EM>opts</EM> <STRONG>);</STRONG>
</PRE><H3><a name="h3-getcchar">getcchar</a></H3><PRE>
The <STRONG>getcchar</STRONG> function gets a wide-character string and rendition from a
- <STRONG>cchar_t</STRONG> argument. When <EM>wch</EM> is not a null pointer, the <STRONG>getcchar</STRONG>
- function does the following:
+ <STRONG>cchar_t</STRONG> argument. When <EM>wc</EM> is not a null pointer, the <STRONG>getcchar</STRONG> function
+ does the following:
- <STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wcval</EM>
+ <STRONG>o</STRONG> Extracts information from a <STRONG>cchar_t</STRONG> value <EM>wch</EM>
<STRONG>o</STRONG> Stores the character attributes in the location pointed to by <EM>attrs</EM>
<STRONG>o</STRONG> Stores the color pair in the location pointed to by <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wcval</EM>,
- into the array pointed to by <EM>wch</EM>.
+ <STRONG>o</STRONG> Stores the wide-character string, characters referenced by <EM>wch</EM>,
+ into the array pointed to by <EM>wc</EM>.
- When <EM>wch</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
+ When <EM>wc</EM> is a null pointer, the <STRONG>getcchar</STRONG> function does the following:
- <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wcval</EM>
+ <STRONG>o</STRONG> Obtains the number of wide characters pointed to by <EM>wch</EM>
<STRONG>o</STRONG> Does not change the data referenced by <EM>attrs</EM> or <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
</PRE><H3><a name="h3-setcchar">setcchar</a></H3><PRE>
- The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wcval</EM> by
+ The <STRONG>setcchar</STRONG> function initializes the location pointed to by <EM>wch</EM> by
using:
<STRONG>o</STRONG> The character attributes in <EM>attrs</EM>
<STRONG>o</STRONG> The color pair in <EM>color</EM><STRONG>_</STRONG><EM>pair</EM>
- <STRONG>o</STRONG> The wide-character string pointed to by <EM>wch</EM>. The string must be
+ <STRONG>o</STRONG> The wide-character string pointed to by <EM>wc</EM>. The string must be
L'\0' terminated, contain at most one spacing character, which must
be the first.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- When <EM>wch</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide
- characters referenced by <EM>wcval</EM>, including one for a trailing null.
+ When <EM>wc</EM> is a null pointer, <STRONG>getcchar</STRONG> returns the number of wide
+ characters referenced by <EM>wch</EM>, including one for a trailing null.
- When <EM>wch</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
+ When <EM>wc</EM> is not a null pointer, <STRONG>getcchar</STRONG> returns <STRONG>OK</STRONG> upon successful
completion, and <STRONG>ERR</STRONG> otherwise.
Upon successful completion, <STRONG>setcchar</STRONG> returns <STRONG>OK</STRONG>. Otherwise, it returns
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- The <EM>wcval</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by
- a function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wcval</EM> is constructed
- by any other means, the effect is unspecified.
+ The <EM>wch</EM> argument may be a value generated by a call to <STRONG>setcchar</STRONG> or by a
+ function that has a <STRONG>cchar_t</STRONG> output argument. If <EM>wch</EM> is constructed by
+ any other means, the effect is unspecified.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getch.3x,v 1.85 2024/04/13 22:18:51 tom Exp @
+ * @Id: curs_getch.3x,v 1.87 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>mvgetch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mvwgetch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<EM>/*</EM> <EM>extension</EM> <EM>*/</EM>
- <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
elapses.
If <STRONG><A HREF="curs_inopts.3x.html">echo(3x)</A></STRONG> has been called, and the window is not a pad, <EM>curses</EM> writes
- the returned character <EM>ch</EM> to the window (at the cursor position) per
- the following rules.
+ the returned character <EM>c</EM> to the window (at the cursor position) per the
+ following rules.
- <STRONG>o</STRONG> If <EM>ch</EM> matches the terminal's erase character, the cursor moves
+ <STRONG>o</STRONG> If <EM>c</EM> matches the terminal's erase character, the cursor moves
leftward one position and the new position is erased as if
<STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and then <STRONG><A HREF="curs_delch.3x.html">wdelch(3x)</A></STRONG> were called. When the window's
keypad mode is enabled (see below), <STRONG>KEY_LEFT</STRONG> and <STRONG>KEY_BACKSPACE</STRONG> are
handled the same way.
- <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>ch</EM> to the window, as with <STRONG><A HREF="curs_addch.3x.html">wechochar(3x)</A></STRONG>.
+ <STRONG>o</STRONG> <EM>curses</EM> writes any other <EM>c</EM> to the window, as with <STRONG><A HREF="curs_addch.3x.html">wechochar(3x)</A></STRONG>.
<STRONG>o</STRONG> If the window has been moved or modified since the last call to
<STRONG><A HREF="curs_refresh.3x.html">wrefresh(3x)</A></STRONG>, <EM>curses</EM> calls <STRONG>wrefresh</STRONG>.
- If <EM>ch</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> returns
- the character code for newline (line feed) instead.
+ If <EM>c</EM> is a carriage return and <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> has been called, <STRONG>wgetch</STRONG> returns
+ the character code for line feed instead.
</PRE><H3><a name="h3-Keypad-Mode">Keypad Mode</a></H3><PRE>
</PRE><H3><a name="h3-Ungetting-Characters">Ungetting Characters</a></H3><PRE>
- <STRONG>ungetch</STRONG> places <EM>ch</EM> into the input queue to be returned by the next call
+ <STRONG>ungetch</STRONG> places <EM>c</EM> into the input queue to be returned by the next call
to <STRONG>wgetch</STRONG>. A single input queue serves all windows.
terminal.
<STRONG>o</STRONG> The naming convention may seem obscure, with some apparent
- misspellings (such as "RSUME" for "resume"); The names correspond
+ misspellings (such as "RSUME" for "resume"); the names correspond
to the <EM>terminfo</EM> capability names for the keys, and were
standardized before the IBM PC/AT keyboard layout achieved a
dominant position in industry.
<STRONG>KEY_SSUSPEND</STRONG> Shifted suspend key
<STRONG>KEY_SUNDO</STRONG> Shifted undo key
- The keypad is arranged as follows.
+ Many keyboards feature a nine-key directional pad.
+-----+------+-------+
| A1 | up | A3 |
+-----+------+-------+
| C1 | down | C3 |
+-----+------+-------+
- Two of these symbols do <EM>not</EM> correspond to a real key.
+ Two of the symbols in the list above do <EM>not</EM> correspond to a physical
+ key.
- <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_RESIZE</STRONG> (even if the window's keypad mode is
- disabled) when <EM>ncurses</EM> detects the <STRONG>SIGWINCH</STRONG> signal; see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>
+ <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_RESIZE</STRONG>, even if the window's keypad mode is
+ disabled, when <EM>ncurses</EM> handles a <STRONG>SIGWINCH</STRONG> signal; see <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG>
and <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>.
- <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending
- collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. Receipt of this code requires a
- window's keypad mode to be enabled, because to interpret mouse
+ <STRONG>o</STRONG> <STRONG>wgetch</STRONG> returns <STRONG>KEY_MOUSE</STRONG> to indicate that a mouse event is pending
+ collection; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>. Receipt of this code requires a
+ window's keypad mode to be enabled, because to interpret mouse
input (as with with <STRONG>xterm(1)</STRONG>'s mouse prototocol), <EM>ncurses</EM> must read
an escape sequence, as with a function key.
</PRE><H3><a name="h3-Testing-Key-Codes">Testing Key Codes</a></H3><PRE>
- In <EM>ncurses</EM>, <STRONG>has_key</STRONG> takes a key code value from the above list, and
- returns a Boolean value indicating the terminal's recognition of it.
- See also <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> and <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
+ In <EM>ncurses</EM>, <STRONG>has_key</STRONG> returns a Boolean value indicating whether the
+ terminal type recognizes its parameter as a key code value. See also
+ <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> and <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- <STRONG>wgetch</STRONG> returns <STRONG>ERR</STRONG> if
+ Except for <STRONG>has_key</STRONG>, these functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on
+ failure.
- <STRONG>o</STRONG> the <EM>WINDOW</EM> pointer is <STRONG>NULL</STRONG>, or
+ Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
+
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+ <STRONG>wgetch</STRONG> also fails if
<STRONG>o</STRONG> its timeout expires without any data arriving, or
- <STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set
+ <STRONG>o</STRONG> execution was interrupted by a signal, in which case <STRONG>errno</STRONG> is set
to <STRONG>EINTR</STRONG>.
- Functions with a "mv" prefix first perform cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is outside the window, or (for "mvw"
- functions) if the <EM>win</EM> parameter is a null pointer.
-
- <STRONG>ungetch</STRONG> returns <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> if there is no more room in the
- input queue.
+ <STRONG>ungetch</STRONG> fails if there is no more room in the input queue.
<STRONG>has_key</STRONG> returns <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>.
<EM>curses</EM> distinguishes the Enter keys in the alphabetic and numeric
keypad sections of a keyboard because (most) terminals do. <STRONG>KEY_ENTER</STRONG>
- refers to the key on the (numeric) keypad and, like other function
- keys, is reliably recognized only if the window's keypad mode is
- enabled.
+ refers to the key on the numeric keypad and, like other function keys,
+ and is reliably recognized only if the window's keypad mode is enabled.
- <STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character
- (sequence) sent by the terminal's keypad Enter key.
+ <STRONG>o</STRONG> The <EM>terminfo</EM> <STRONG>key_enter</STRONG> (<STRONG>kent</STRONG>) capability describes the character
+ (sequence) sent by the Enter key of a terminal's numeric (or
+ similar) keypad.
<STRONG>o</STRONG> "Enter or send" is X/Open Curses's description of this key.
Historically, the list of key code macros above was influenced by the
function-key-rich keyboard of the AT&T 7300 (also known variously as
the "3B1", "Safari 4", and "UNIX PC"), a 1985 machine. Today's
- computer keyboards are based on the IBM PC/AT keyboard and tend to have
+ computer keyboards are based that of the IBM PC/AT and tend to have
fewer. A <EM>curses</EM> application can expect such a keyboard to transmit key
codes <STRONG>KEY_UP</STRONG>, <STRONG>KEY_DOWN</STRONG>, <STRONG>KEY_LEFT</STRONG>, <STRONG>KEY_RIGHT</STRONG>, <STRONG>KEY_HOME</STRONG>, <STRONG>KEY_END</STRONG>,
<STRONG>KEY_PPAGE</STRONG> (Page Up), <STRONG>KEY_NPAGE</STRONG> (Page Down), <STRONG>KEY_IC</STRONG> (Insert), <STRONG>KEY_DC</STRONG>
Applications employing <EM>ncurses</EM> extensions should condition their use on
the visibility of the <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
- X/Open Curses, Issue 4, describes <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, and
+ X/Open Curses, Issue 4 describes <STRONG>getch</STRONG>, <STRONG>wgetch</STRONG>, <STRONG>mvgetch</STRONG>, <STRONG>mvwgetch</STRONG>, and
<STRONG>ungetch</STRONG>. It specifies no error conditions for them.
<STRONG>wgetch</STRONG> reads only single-byte characters.
The behavior of <STRONG>wgetch</STRONG> in the presence of signal handlers is
unspecified in the SVr4 documentation and X/Open Curses. In historical
<EM>curses</EM> implementations, it varied depending on whether the operating
- system's dispatch of a signal to a handler interrupts a <STRONG>read(2)</STRONG> call in
- progress or not, and also (in some implementations) whether an input
+ system's dispatch of a signal to a handler interrupting a <STRONG>read(2)</STRONG> call
+ in progress, and also (in some implementations) whether an input
timeout or non-blocking mode has been set. Programmers concerned about
portability should be prepared for either of two cases: (a) signal
receipt does not interrupt <STRONG>wgetch</STRONG>; or (b) signal receipt interrupts
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getstr.3x,v 1.56 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_getstr.3x,v 1.58 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
interrupts the function, it will return <STRONG>KEY_RESIZE</STRONG> rather than <STRONG>OK</STRONG> or
<STRONG>ERR</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
Any of these functions other than <STRONG>wgetnstr</STRONG> may be macros.
- Using <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, or <STRONG>wgetstr</STRONG> to read a line that
- overflows the array pointed to by <STRONG>str</STRONG> causes undefined results. The
- use of <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is
+ Using <STRONG>getstr</STRONG>, <STRONG>mvgetstr</STRONG>, <STRONG>mvwgetstr</STRONG>, or <STRONG>wgetstr</STRONG> to read a line that
+ overflows the array pointed to by <STRONG>str</STRONG> causes undefined results. The
+ use of <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, <STRONG>mvwgetnstr</STRONG>, or <STRONG>wgetnstr</STRONG>, respectively, is
recommended.
These functions are described in The Single Unix Specification, Version
2. No error conditions are defined.
- This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
+ This implementation returns <STRONG>ERR</STRONG> if the window pointer is null, or if
the lower-level <STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> call returns an <STRONG>ERR</STRONG>.
- SVr3 and early SVr4 curses implementations did not reject function
- keys; the SVr4.0 documentation claimed that "special keys" (such as
- function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted",
- without giving details. It lied. In fact, the "character" value
+ SVr3 and early SVr4 curses implementations did not reject function
+ keys; the SVr4.0 documentation claimed that "special keys" (such as
+ function keys, "home" key, "clear" key, <EM>etc</EM>.) are "interpreted",
+ without giving details. It lied. In fact, the "character" value
appended to the string by those implementations was predictable but not
- useful (being, in fact, the low-order eight bits of the key's KEY_
+ useful (being, in fact, the low-order eight bits of the key's KEY_
value).
- The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
+ The functions <STRONG>getnstr</STRONG>, <STRONG>mvgetnstr</STRONG>, and <STRONG>mvwgetnstr</STRONG> were present but not
documented in SVr4.
X/Open Curses, Issue 5 (2007) stated that these functions "read at most
- <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
- that limit. X/Open Curses, Issue 7 (2009) changed that to say they
+ <EM>n</EM> bytes" but did not state whether the terminating NUL is counted in
+ that limit. X/Open Curses, Issue 7 (2009) changed that to say they
"read at most <EM>n</EM>-1 bytes" to allow for the terminating NUL. As of 2018,
some implementations count it, some do not:
- <STRONG>o</STRONG> <EM>ncurses</EM> 6.1 and PDCurses do not count the NUL in the given limit,
+ <STRONG>o</STRONG> <EM>ncurses</EM> 6.1 and PDCurses do not count the NUL in the given limit,
while
<STRONG>o</STRONG> Solaris SVr4 and NetBSD curses count the NUL as part of the limit.
- <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG>
- reserves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL
+ <STRONG>o</STRONG> Solaris xcurses provides both: its wide-character <STRONG>wget_nstr</STRONG>
+ reserves a NUL, but its <STRONG>wgetnstr</STRONG> does not count the NUL
consistently.
In SVr4 curses, a negative value of <EM>n</EM> tells <STRONG>wgetnstr</STRONG> to assume that the
- caller's buffer is large enough to hold the result, i.e., to act like
- <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
- negative or zero values of <EM>n</EM>), however most implementations use the
+ caller's buffer is large enough to hold the result, i.e., to act like
+ <STRONG>wgetstr</STRONG>. X/Open Curses does not mention this (or anything related to
+ negative or zero values of <EM>n</EM>), however most implementations use the
feature, with different limits:
- <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
+ <STRONG>o</STRONG> Solaris SVr4 curses and PDCurses limit the result to 255 bytes.
Other Unix systems than Solaris are likely to use the same limit.
<STRONG>o</STRONG> Solaris xcurses limits the result to <STRONG>LINE_MAX</STRONG> bytes.
- <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
- However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
+ <STRONG>o</STRONG> NetBSD 7 assumes no particular limit for the result from <STRONG>wgetstr</STRONG>.
+ However, it limits the <STRONG>wgetnstr</STRONG> parameter <EM>n</EM> to ensure that it is
greater than zero.
- A comment in NetBSD's source code states that this is specified in
+ A comment in NetBSD's source code states that this is specified in
SUSv2.
- <STRONG>o</STRONG> <EM>ncurses</EM> (before 6.2) assumes no particular limit for the result
- from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
+ <STRONG>o</STRONG> <EM>ncurses</EM> (before 6.2) assumes no particular limit for the result
+ from <STRONG>wgetstr</STRONG>, and treats the <EM>n</EM> parameter of <STRONG>wgetnstr</STRONG> like SVr4
curses.
- <STRONG>o</STRONG> <EM>ncurses</EM> 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
- which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
- <STRONG>sysconf</STRONG> is available, <EM>ncurses</EM> uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
- 2048 byte limit). In either case, it reserves a byte for the
+ <STRONG>o</STRONG> <EM>ncurses</EM> 6.2 uses <STRONG>LINE_MAX</STRONG>, or a larger (system-dependent) value
+ which the <STRONG>sysconf</STRONG> function may provide. If neither <STRONG>LINE_MAX</STRONG> or
+ <STRONG>sysconf</STRONG> is available, <EM>ncurses</EM> uses the POSIX value for <STRONG>LINE_MAX</STRONG> (a
+ 2048 byte limit). In either case, it reserves a byte for the
terminating NUL.
- Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
- makes changes to the curses modes to allow simple editing of the input
+ Although <STRONG>getnstr</STRONG> is equivalent to a series of calls to <STRONG>getch</STRONG>, it also
+ makes changes to the curses modes to allow simple editing of the input
buffer:
- <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
+ <STRONG>o</STRONG> <STRONG>getnstr</STRONG> saves the current value of the <STRONG>nl</STRONG>, <STRONG>echo</STRONG>, <STRONG>raw</STRONG> and <STRONG>cbreak</STRONG>
modes, and sets <STRONG>nl</STRONG>, <STRONG>noecho</STRONG>, <STRONG>noraw</STRONG>, and <STRONG>cbreak</STRONG>.
- <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on
+ <STRONG>getnstr</STRONG> handles the echoing of characters, rather than relying on
the caller to set an appropriate mode.
- <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
+ <STRONG>o</STRONG> It also obtains the <EM>erase</EM> and <EM>kill</EM> characters from <STRONG>erasechar</STRONG> and
<STRONG>killchar</STRONG>, respectively.
<STRONG>o</STRONG> On return, <STRONG>getnstr</STRONG> restores the modes to their previous values.
Other implementations differ in their treatment of special characters:
- <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not
- modify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the
- caller into account when deciding whether to handle echoing within
+ <STRONG>o</STRONG> While they may set the <EM>echo</EM> mode, other implementations do not
+ modify the <EM>raw</EM> mode, They may take the <EM>cbreak</EM> mode set by the
+ caller into account when deciding whether to handle echoing within
<STRONG>getnstr</STRONG> or as a side-effect of the <STRONG>getch</STRONG> calls.
<STRONG>o</STRONG> The original <EM>ncurses</EM> (as <EM>pcurses</EM> in 1986) set <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> when
- accepting input for <STRONG>getnstr</STRONG>. That may have been done to make
+ accepting input for <STRONG>getnstr</STRONG>. That may have been done to make
function- and cursor-keys work; it is not necessary with <EM>ncurses</EM>.
- Since 1995, <EM>ncurses</EM> has provided signal handlers for INTR and QUIT
- (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
- catch a signal and stop the program, where other implementations
+ Since 1995, <EM>ncurses</EM> has provided signal handlers for INTR and QUIT
+ (e.g., <STRONG>^C</STRONG> or <STRONG>^\</STRONG>). With the <STRONG>noraw</STRONG> and <STRONG>cbreak</STRONG> settings, those may
+ catch a signal and stop the program, where other implementations
allow one to enter those characters in the buffer.
<STRONG>o</STRONG> Starting in 2021 (<EM>ncurses</EM> 6.3), <STRONG>getnstr</STRONG> sets <STRONG>raw</STRONG>, rather than <STRONG>noraw</STRONG>
- and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g.,
+ and <STRONG>cbreak</STRONG> for better compatibility with SVr4-curses, e.g.,
allowing one to enter a <STRONG>^C</STRONG> into the buffer.
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_getyx.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_getyx 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_getyx 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_getyx 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_getyx 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in the
- XSI Curses standard, Issue 4.
+ The <STRONG>getyx</STRONG>, <STRONG>getparyx</STRONG>, <STRONG>getbegyx</STRONG> and <STRONG>getmaxyx</STRONG> macros are described in
+ X/Open Curses, Issue 4.
This implementation also provides functions <STRONG>getbegx</STRONG>, <STRONG>getbegy</STRONG>, <STRONG>getcurx</STRONG>,
<STRONG>getcury</STRONG>, <STRONG>getmaxx</STRONG>, <STRONG>getmaxy</STRONG>, <STRONG>getparx</STRONG> and <STRONG>getpary</STRONG> for compatibility with
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_getyx.3x.html">curs_getyx(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wch.3x,v 1.28 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_in_wch.3x,v 1.31 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>in_wch(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>win_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wcval</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvin_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>mvwin_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
These functions extract the complex character and rendition from the
current position in the named window into the <STRONG>cchar_t</STRONG> object referenced
- by wcval.
+ by wch.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- No errors are defined in the XSI Curses standard. This implementation
- checks for null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM>
- routines check for error moving the cursor, returning <STRONG>ERR</STRONG> in that case.
- Otherwise they return <STRONG>OK</STRONG>.
+ No errors are defined in X/Open Curses. This implementation checks for
+ null pointers, returns <STRONG>ERR</STRONG> in that case. Also, the <EM>mv</EM> routines check
+ for error moving the cursor, returning <STRONG>ERR</STRONG> in that case. Otherwise
+ they return <STRONG>OK</STRONG>.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
+ <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
its non-wide-character configuration.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_in_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp @
+ * @Id: curs_in_wchstr.3x,v 1.39 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_in_wchstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_in_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_in_wchstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_in_wchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>wchstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All routines except <STRONG>win_wchnstr</STRONG> may be macros.
- Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
- <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined
- results. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>,
+ Reading a line that overflows the array pointed to by <EM>wchstr</EM> with
+ <STRONG>in_wchstr</STRONG>, <STRONG>mvin_wchstr</STRONG>, <STRONG>mvwin_wchstr</STRONG> or <STRONG>win_wchstr</STRONG> causes undefined
+ results. Therefore, the use of <STRONG>in_wchnstr</STRONG>, <STRONG>mvin_wchnstr</STRONG>,
<STRONG>mvwin_wchnstr</STRONG>, or <STRONG>win_wchnstr</STRONG> is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses defines no error conditions. This implementation checks
+ X/Open Curses defines no error conditions. This implementation checks
for null pointers, returning <STRONG>ERR</STRONG> in that case.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its non-wide-character configuration.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inch.3x,v 1.48 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inch 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inch 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
- The <STRONG>winch</STRONG> function does not return an error if the window contains
- characters larger than 8-bits (255). Only the low-order 8 bits of the
+ The <STRONG>winch</STRONG> function does not return an error if the window contains
+ characters larger than 8-bits (255). Only the low-order 8 bits of the
character are used by <STRONG>winch</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
- Very old systems (before standardization) provide a different function
+ Very old systems (before standardization) provide a different function
with the same name:
- <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
- which stored a 7-bit character combined with the <EM>standout</EM>
+ <STRONG>o</STRONG> The <STRONG>winch</STRONG> function was part of the original BSD curses library,
+ which stored a 7-bit character combined with the <EM>standout</EM>
attribute.
- In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
+ In BSD curses, <STRONG>winch</STRONG> returned only the character (as an integer)
with the <EM>standout</EM> attribute removed.
- <STRONG>o</STRONG> System V curses added support for several video attributes which
+ <STRONG>o</STRONG> System V curses added support for several video attributes which
could be combined with characters in the window.
Reflecting this improvement, the function was altered to return the
character combined with all video attributes in a <STRONG>chtype</STRONG> value.
X/Open Curses does not specify the size and layout of attributes, color
- and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
- implementation uses 8 bits for character values. An application using
- more bits, e.g., a Unicode value, should use the wide-character
+ and character values in <STRONG>chtype</STRONG>; it is implementation-dependent. This
+ implementation uses 8 bits for character values. An application using
+ more bits, e.g., a Unicode value, should use the wide-character
equivalents to these functions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its wide-character configuration (<EM>ncursesw</EM>).
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inchstr.3x,v 1.42 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_inchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inchstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inchstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inchstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inchstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>chstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
does not document whether a length limit argument includes any trailing
0; and it does not document the meaning of the return value.
- Reading a line that overflows the array pointed to by <EM>chstr</EM> with
- <STRONG>inchstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvwinchstr</STRONG> or <STRONG>winchstr</STRONG> causes undefined results.
- Therefore, the use of <STRONG>inchnstr</STRONG>, <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchnstr</STRONG>, or <STRONG>winchnstr</STRONG>
+ Reading a line that overflows the array pointed to by <EM>chstr</EM> with
+ <STRONG>inchstr</STRONG>, <STRONG>mvinchstr</STRONG>, <STRONG>mvwinchstr</STRONG> or <STRONG>winchstr</STRONG> causes undefined results.
+ Therefore, the use of <STRONG>inchnstr</STRONG>, <STRONG>mvinchnstr</STRONG>, <STRONG>mvwinchnstr</STRONG>, or <STRONG>winchnstr</STRONG>
is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4. It
- is no more specific than the SVr4 documentation on the trailing 0. It
- does specify that the successful return of the functions is <STRONG>OK</STRONG>.
+ These functions are described in X/Open Curses, Issue 4. It is no more
+ specific than the SVr4 documentation on the trailing 0. It does
+ specify that the successful return of the functions is <STRONG>OK</STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_initscr.3x,v 1.66 2024/04/13 22:18:11 tom Exp @
+ * @Id: curs_initscr.3x,v 1.69 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_initscr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_initscr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_initscr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_initscr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions were described in the XSI Curses standard, Issue 4. As
- of 2015, the current document is X/Open Curses, Issue 7.
+ These functions were described in X/Open Curses, Issue 4. As of 2015,
+ the current document is X/Open Curses, Issue 7.
</PRE><H3><a name="h3-Differences">Differences</a></H3><PRE>
Old versions of curses, e.g., BSD 4.4, would return a null pointer from
<STRONG>initscr</STRONG> when an error is detected, rather than exiting. It is safe but
- redundant to check the return value of <STRONG>initscr</STRONG> in XSI Curses.
+ redundant to check the return value of <STRONG>initscr</STRONG> in X/Open Curses.
Calling <STRONG>endwin</STRONG> does not dispose of the memory allocated in <STRONG>initscr</STRONG> or
<STRONG>newterm</STRONG>. Deleting a <EM>SCREEN</EM> provides a way to do this:
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inopts 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inopts 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inopts 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inopts 3x 2024-04-13 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+ncurses 6.5 2024-04-13 <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wch.3x,v 1.28 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_ins_wch.3x,v 1.30 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
- Functions prefixed with "mv" first perform cursor movement using <STRONG>wmove</STRONG>
- and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
SVr4 describes successful return values only as "an integer value other
than <STRONG>ERR</STRONG>".
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_ins_wstr.3x,v 1.34 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_ins_wstr.3x,v 1.38 2024/04/20 21:23:08 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_ins_wstr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_ins_wstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_ins_wstr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_ins_wstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <STRONG>wins_wch</STRONG> function returns an error.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>, and return an error if the position is outside the window,
- or if the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All but <STRONG>wins_nwstr</STRONG> may be macros.
- If the first character in the string is a non-spacing character, these
- functions will fail. XSI does not define what will happen if a non-
- spacing character follows a control character.
+ If the first character in the string is a non-spacing character, these
+ functions will fail. X/Open Curses does not define what will happen if
+ a non-spacing character follows a control character.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4,
- which adds <EM>const</EM> qualifiers to the arguments.
+ These functions are described in X/Open Curses, Issue 4, which adds
+ <EM>const</EM> qualifiers to the arguments.
- X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
- This is probably an error, because it is inconsistent with other
+ X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
+ This is probably an error, because it is inconsistent with other
functions, and differs from the X/Open implementation on Solaris.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
+ <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library
in its non-wide-character configuration.
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>, <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insch.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
Functions taking a <EM>WINDOW</EM> pointer argument fail if the pointer is <STRONG>NULL</STRONG>.
- Functions prefixed with "mv" first perform cursor movement using <STRONG>wmove</STRONG>
- and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros.
+
A terminal's <STRONG>insert_character</STRONG> (<STRONG>ich1</STRONG>) capability is not necessarily
employed.
- <STRONG>insch</STRONG>, <STRONG>mvinsch</STRONG>, and <STRONG>mvwinsch</STRONG> may be implemented as macros.
-
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
- SVr4 describes successful return values only as "an integer value other
- than <STRONG>ERR</STRONG>".
+ SVr4 <EM>curses</EM> describes a successful return value only as "an integer
+ value other than <STRONG>ERR</STRONG>".
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_insstr.3x,v 1.48 2024/03/16 15:49:07 tom Exp @
+ * @Id: curs_insstr.3x,v 1.51 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_insstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_insstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_insstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_insstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
<STRONG>o</STRONG> the <STRONG><A HREF="curs_insch.3x.html">winsch(3x)</A></STRONG> function returns an error.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG>, and return an error if the position is outside the window,
- or if the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4,
- which adds <EM>const</EM> qualifiers to the arguments.
+ These functions are described in X/Open Curses, Issue 4, which adds
+ <EM>const</EM> qualifiers to the arguments.
- The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and
- <STRONG>winsnstr</STRONG> perform wrapping. This is probably an error, since it makes
- this group of functions inconsistent. Also, no implementation of
+ The Single Unix Specification, Version 2 states that <STRONG>insnstr</STRONG> and
+ <STRONG>winsnstr</STRONG> perform wrapping. This is probably an error, since it makes
+ this group of functions inconsistent. Also, no implementation of
curses documents this inconsistency.
- X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
- This is probably an error, because it is inconsistent with other
- functions, and differs from the SVr4 and X/Open implementations on
+ X/Open states that the entire string is inserted if <EM>n</EM> is less than 1.
+ This is probably an error, because it is inconsistent with other
+ functions, and differs from the SVr4 and X/Open implementations on
Solaris.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_insstr.3x.html">curs_insstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_instr.3x,v 1.48 2024/04/13 22:14:06 tom Exp @
+ * @Id: curs_instr.3x,v 1.51 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_instr 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_instr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_instr 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_instr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
<STRONG>o</STRONG> if the <EM>chstr</EM> parameter is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All routines except <STRONG>winnstr</STRONG> may be macros.
- Reading a line that overflows the array pointed to by <EM>str</EM> with <STRONG>instr</STRONG>,
- <STRONG>mvinstr</STRONG>, <STRONG>mvwinstr</STRONG> or <STRONG>winstr</STRONG> causes undefined results. Therefore, the
+ Reading a line that overflows the array pointed to by <EM>str</EM> with <STRONG>instr</STRONG>,
+ <STRONG>mvinstr</STRONG>, <STRONG>mvwinstr</STRONG> or <STRONG>winstr</STRONG> causes undefined results. Therefore, the
use of <STRONG>innstr</STRONG>, <STRONG>mvinnstr</STRONG>, <STRONG>mvwinnstr</STRONG>, or <STRONG>winnstr</STRONG> is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- SVr4 does not document whether a length limit includes or excludes the
+ SVr4 does not document whether a length limit includes or excludes the
trailing NUL.
- The <EM>ncurses</EM> library extends the XSI description by allowing a negative
- value for <EM>n</EM>. In this case, the functions return the string ending at
- the right margin.
+ The <EM>ncurses</EM> library extends the X/Open Curses description by allowing a
+ negative value for <EM>n</EM>. In this case, the functions return the string
+ ending at the right margin.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_inwstr.3x,v 1.38 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_inwstr.3x,v 1.41 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_inwstr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_inwstr 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_inwstr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_inwstr 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
<STRONG>o</STRONG> if no characters could be read.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
- the window pointer is null.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
All routines except <STRONG>winnwstr</STRONG> may be macros.
- Each cell in the window holds a complex character (a spacing character
- and zero or more non-spacing characters) together with attributes and
- color. These functions store only the wide characters, ignoring
- attributes and color. Use <STRONG>in_wchstr</STRONG> to return the complex characters
+ Each cell in the window holds a complex character (a spacing character
+ and zero or more non-spacing characters) together with attributes and
+ color. These functions store only the wide characters, ignoring
+ attributes and color. Use <STRONG>in_wchstr</STRONG> to return the complex characters
from a window.
Reading a line that overflows the array pointed to by <EM>wstr</EM> with <STRONG>inwstr</STRONG>,
- <STRONG>mvinwstr</STRONG>, <STRONG>mvwinwstr</STRONG> or <STRONG>winwstr</STRONG> causes undefined results. Therefore,
+ <STRONG>mvinwstr</STRONG>, <STRONG>mvwinwstr</STRONG> or <STRONG>winwstr</STRONG> causes undefined results. Therefore,
the use of <STRONG>innwstr</STRONG>, <STRONG>mvinnwstr</STRONG>, <STRONG>mvwinnwstr</STRONG>, or <STRONG>winnwstr</STRONG> is recommended.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_inch.3x.html">curs_inch(3x)</A></STRONG>, <STRONG><A HREF="curs_inchstr.3x.html">curs_inchstr(3x)</A></STRONG>, <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>,
<STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_kernel.3x,v 1.58 2024/04/13 22:19:08 tom Exp @
+ * @Id: curs_kernel.3x,v 1.61 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_kernel 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_kernel 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_kernel 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_kernel 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in the
- XSI Curses standard, Issue 4. All other functions are as described in
- XSI Curses.
+ The <EM>virtual</EM> <EM>screen</EM> functions <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> are not described in
+ X/Open Curses, Issue 4. All other functions are as described in X/Open
+ Curses.
The SVr4 documentation describes <STRONG>setsyx</STRONG> and <STRONG>getsyx</STRONG> as having return
type int. This is misleading, as they are macros with no documented
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_legacy 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_legacy 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_legacy 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_legacy 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_legacy.3x.html">curs_legacy(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_memleaks 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_memleaks 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_memleaks 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_mouse.3x,v 1.96 2024/03/23 20:38:57 tom Exp @
+ * @Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_mouse 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_mouse 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_mouse 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_mouse 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse(void);</STRONG>
+ <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
+
<STRONG>int</STRONG> <STRONG>getmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>ungetmouse(MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
- <STRONG>mmask_t</STRONG> <STRONG>mousemask(mmask_t</STRONG> <EM>newmask</EM><STRONG>,</STRONG> <STRONG>mmask_t</STRONG> <STRONG>*</STRONG><EM>oldmask</EM><STRONG>);</STRONG>
-
<STRONG>bool</STRONG> <STRONG>wenclose(const</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>mouse_trafo(int*</STRONG> <EM>pY</EM><STRONG>,</STRONG> <STRONG>int*</STRONG> <EM>pX</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>to</EM><STRONG>_</STRONG><EM>screen</EM><STRONG>);</STRONG>
<STRONG><A HREF="curs_getch.3x.html">wgetch(3x)</A></STRONG> input stream.
+</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
+ The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been
+ successfully initialized, and <STRONG>FALSE</STRONG> otherwise.
+
+ Mouse events are ignored when input is in cooked mode, and cause an
+ error beep when cooked mode is being simulated in a window by a
+ function such as <STRONG>getstr</STRONG> that expects a linefeed for input-loop
+ termination.
+
+
</PRE><H3><a name="h3-mousemask">mousemask</a></H3><PRE>
To make mouse events visible, use the <STRONG>mousemask</STRONG> function. This sets
the mouse events to be reported. By default, no mouse events are
<STRONG>BUTTON1_PRESSED</STRONG> mouse button 1 down
<STRONG>BUTTON1_RELEASED</STRONG> mouse button 1 up
<STRONG>BUTTON1_CLICKED</STRONG> mouse button 1 clicked
-
<STRONG>BUTTON1_DOUBLE_CLICKED</STRONG> mouse button 1 double clicked
<STRONG>BUTTON1_TRIPLE_CLICKED</STRONG> mouse button 1 triple clicked
------------------------------------------------------------------------
<STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>.
-</PRE><H3><a name="h3-has_mouse">has_mouse</a></H3><PRE>
- The <STRONG>has_mouse</STRONG> function returns <STRONG>TRUE</STRONG> if the mouse driver has been
- successfully initialized, and <STRONG>FALSE</STRONG> otherwise.
-
- Mouse events are ignored when input is in cooked mode, and cause an
- error beep when cooked mode is being simulated in a window by a
- function such as <STRONG>getstr</STRONG> that expects a linefeed for input-loop
- termination.
-
-
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
<STRONG>has_mouse</STRONG>, <STRONG>wenclose</STRONG>, <STRONG>mouse_trafo</STRONG>, and <STRONG>wmouse_trafo</STRONG> return <STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>
as noted above.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
<ul>
+<li><a href="#h3-has_mouse">has_mouse</a></li>
<li><a href="#h3-mousemask">mousemask</a></li>
<li><a href="#h3-Mouse-Events">Mouse Events</a></li>
<li><a href="#h3-getmouse">getmouse</a></li>
<li><a href="#h3-wmouse_trafo">wmouse_trafo</a></li>
<li><a href="#h3-mouse_trafo">mouse_trafo</a></li>
<li><a href="#h3-mouseinterval">mouseinterval</a></li>
-<li><a href="#h3-has_mouse">has_mouse</a></li>
</ul>
</li>
<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_move.3x,v 1.35 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_move.3x,v 1.40 2024/04/27 17:56:05 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_move 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_move 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_move 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_move 3x 2024-04-27 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- These routines move the cursor associated with the window to line <EM>y</EM> and
- column <EM>x</EM>. This routine does not move the physical cursor of the
- terminal until <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position specified is
- relative to the upper left-hand corner of the window, which is (0,0).
+ <STRONG>wmove</STRONG> relocates the cursor associated with the <EM>curses</EM> window <EM>win</EM> to
+ line <EM>y</EM> and column <EM>x</EM>. The terminal's cursor does not move until
+ <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG> is called. The position (<EM>y</EM>, <EM>x</EM>) is relative to the upper
+ left-hand corner of the window, which has coordinates (0, 0).
+ <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> describes the <STRONG>move</STRONG> variant of this function.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- These routines return the integer <STRONG>ERR</STRONG> upon failure and an <STRONG>OK</STRONG> (SVr4
- specifies only "an integer value other than <STRONG>ERR</STRONG>") upon successful
- completion.
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
- Specifically, they return an error if the window pointer is null, or if
- the position is outside the window.
+ They fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
+
+ <STRONG>wmove</STRONG> fails if its <EM>WINDOW</EM> pointer argument is <STRONG>NULL</STRONG>.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
- Note that <STRONG>move</STRONG> may be a macro.
+ <STRONG>move</STRONG> may be implemented as a macro.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ X/Open Curses, Issue 4 describes these functions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
+ncurses 6.5 2024-04-27 <STRONG><A HREF="curs_move.3x.html">curs_move(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_opaque 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_opaque 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_opaque 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_opaque 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_opaque.3x.html">curs_opaque(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_outopts.3x,v 1.60 2024/04/13 22:23:57 tom Exp @
+ * @Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_outopts 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_outopts 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_outopts 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_outopts 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
the window pointer is null
<STRONG>o</STRONG> <STRONG>wsetscrreg</STRONG> returns an error if the scrolling region limits extend
- outside the window.
+ outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4.
+ These functions are described in X/Open Curses, Issue 4.
Some historic curses implementations had, as an undocumented feature,
the ability to do the equivalent of <STRONG>clearok(...,</STRONG> <STRONG>1)</STRONG> by saying
Earlier System V curses implementations specified that with <STRONG>scrollok</STRONG>
enabled, any window modification triggering a scroll also forced a
- physical refresh. XSI Curses does not require this, and <EM>ncurses</EM> avoids
- doing it to perform better vertical-motion optimization at <STRONG>wrefresh</STRONG>
- time.
+ physical refresh. X/Open Curses does not require this, and <EM>ncurses</EM>
+ avoids doing it to perform better vertical-motion optimization at
+ <STRONG>wrefresh</STRONG> time.
- The XSI Curses standard does not mention that the cursor should be made
- invisible as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does
- this, but the code does not. Use <STRONG>curs_set</STRONG> to make the cursor
- invisible.
+ X/Open Curses does not mention that the cursor should be made invisible
+ as a side-effect of <STRONG>leaveok</STRONG>. SVr4 curses documentation does this, but
+ the code does not. Use <STRONG>curs_set</STRONG> to make the cursor invisible.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
- <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input <EM>and</EM> output
+ <EM>ncurses</EM> formerly treated <STRONG><A HREF="curs_inopts.3x.html">nl(3x)</A></STRONG> and <STRONG><A HREF="curs_inopts.3x.html">nonl(3x)</A></STRONG> as both input <EM>and</EM> output
options, but no longer; see <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
- <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>,
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_overlay.3x,v 1.41 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_overlay.3x,v 1.43 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_overlay 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_overlay 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_overlay 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_overlay 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are described in the XSI Curses standard, Issue 4,
- which adds <EM>const</EM> qualifiers to the arguments. It further specifies
- their behavior in the presence of characters with multibyte renditions
- (not yet supported in this implementation).
+ These functions are described in X/Open Curses, Issue 4, which adds
+ <EM>const</EM> qualifiers to the arguments. It further specifies their behavior
+ in the presence of characters with multibyte renditions (not yet
+ supported in this implementation).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_overlay.3x.html">curs_overlay(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_pad.3x,v 1.57 2024/04/13 22:13:17 tom Exp @
+ * @Id: curs_pad.3x,v 1.61 2024/04/27 17:55:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_pad 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_pad 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_pad 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_pad 3x 2024-04-27 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
of the pad and screen are involved.
<STRONG>o</STRONG> <EM>pminrow</EM> and <EM>pmincol</EM> specify the upper left-hand corner of a
- rectanglar view of the pad.
+ rectangular view of the pad.
<STRONG>o</STRONG> <EM>sminrow</EM>, <EM>smincol</EM>, <EM>smaxrow</EM>, and <EM>smaxcol</EM> specify the vertices of the
rectangle to be displayed on the screen.
The two uses may be related.
- The XSI Curses standard, Issue 4 describes these functions, without
- significant change from the SVr3 documentation. It describes no error
- conditions. The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad
- is undocumented, and is not checked by the vendor Unix implementations:
+ X/Open Curses, Issue 4 describes these functions, without significant
+ change from the SVr3 documentation. It describes no error conditions.
+ The behavior of <STRONG>subpad</STRONG> if the parent window is not a pad is
+ undocumented, and is not checked by the vendor Unix implementations:
<STRONG>o</STRONG> SVr4 <EM>curses</EM> sets a flag in the <EM>WINDOW</EM> structure in <STRONG>newpad</STRONG> which
tells if the window is a <EM>pad</EM>.
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
+ncurses 6.5 2024-04-27 <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_print 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_print 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_print 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_print 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_printw.3x,v 1.51 2024/03/23 20:38:57 tom Exp @
+ * @Id: curs_printw.3x,v 1.53 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_printw 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_printw 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_printw 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_printw 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
for the buffer into which the output is formatted, or if the window
pointer <EM>win</EM> is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and fail if the position is outside the window.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
<EM>ncurses</EM> defines <STRONG>vw_printw</STRONG> and <STRONG>vwprintw</STRONG> identically to support legacy
applications. However, the latter is obsolete.
- <STRONG>o</STRONG> X/Open Curses, Issue 4, Version 2 (1996), marked <STRONG>vwprintw</STRONG> as
+ <STRONG>o</STRONG> X/Open Curses, Issue 4 Version 2 (1996), marked <STRONG>vwprintw</STRONG> as
requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified <STRONG>vw_printw</STRONG>
using the <EM>stdarg.h</EM> interface.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_refresh.3x,v 1.44 2024/03/16 15:49:39 tom Exp @
+ * @Id: curs_refresh.3x,v 1.46 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_refresh 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_refresh 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_refresh 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_refresh 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
Whether <STRONG>wnoutrefresh</STRONG> copies to the virtual screen the entire contents
of a window or just its changed portions has never been well-documented
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scanw.3x,v 1.51 2024/03/23 20:41:15 tom Exp @
+ * @Id: curs_scanw.3x,v 1.53 2024/04/20 19:18:18 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scanw 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scanw 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scanw 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scanw 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
In <EM>ncurses</EM>, failure occurs if <STRONG>vsscanf(3)</STRONG> returns <STRONG>EOF</STRONG>, or if the window
pointer <EM>win</EM> is null.
- Functions with a "mv" prefix first perform a cursor movement using
- <STRONG>wmove</STRONG>, and fail if the position is outside the window.
+ Functions prefixed with "mv" first perform cursor movement and fail if
+ the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It specifies no
+ X/Open Curses, Issue 4 describes these functions. It specifies no
error conditions for them.
<EM>ncurses</EM> defines <STRONG>vw_scanw</STRONG> and <STRONG>vwscanw</STRONG> identically to support legacy
applications. However, the latter is obsolete.
- <STRONG>o</STRONG> X/Open Curses, Issue 4, Version 2 (1996), marked <STRONG>vwscanw</STRONG> as
+ <STRONG>o</STRONG> X/Open Curses, Issue 4 Version 2 (1996), marked <STRONG>vwscanw</STRONG> as
requiring <EM>varargs.h</EM> and "TO BE WITHDRAWN", and specified <STRONG>vw_scanw</STRONG>
using the <EM>stdarg.h</EM> interface.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scr_dump.3x,v 1.41 2024/03/23 20:41:15 tom Exp @
+ * @Id: curs_scr_dump.3x,v 1.43 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scr_dump 3x 2024-03-23 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scr_dump 3x 2024-03-23 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
SVr4 omitted the <EM>const</EM> qualifiers.
-ncurses 6.4 2024-03-23 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_scroll.3x,v 1.41 2024/04/14 00:14:28 tom Exp @
+ * @Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_scroll 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_scroll 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_scroll 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_scroll 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions. It defines no error
+ X/Open Curses, Issue 4 describes these functions. It defines no error
conditions.
SVr4 specifies only "an integer value other than <STRONG>ERR</STRONG>" as a successful
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_slk.3x,v 1.69 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_slk.3x,v 1.71 2024/04/20 18:54:36 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_slk 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_slk 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_slk 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_slk 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- X/Open Curses, Issue 4, describes these functions, with some
- differences from SVr4 <EM>curses</EM>:
+ X/Open Curses, Issue 4 describes these functions, with some differences
+ from SVr4 <EM>curses</EM>:
<STRONG>o</STRONG> X/Open added functions like the SVr4 attribute-manipulation
functions <STRONG>slk_attron</STRONG>, <STRONG>slk_attroff</STRONG>, and <STRONG>slk_attrset</STRONG>, but which use
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_sp_funcs.3x,v 1.48 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_sp_funcs 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_sp_funcs 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_sp_funcs 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>echo_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>endwin_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>erasechar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>erasewchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>extended_color_content_sp(SCREEN</STRONG> <STRONG>*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>b</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>extended_pair_content_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>fg</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <STRONG>*</STRONG> <EM>bg</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>extended_slk_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>pair</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_ic_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_il_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>has_key_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_mouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>init_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>b</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>init_extended_color_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>color</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>r</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>g</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>b</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>keyok_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>keycode</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>enable</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>killchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>killwchar_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>char*</STRONG> <STRONG>longname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mcprint_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>data</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>len</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>mouseinterval_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>erval</EM><STRONG>);</STRONG>
<STRONG>chtype</STRONG> <STRONG>termattrs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>char*</STRONG> <STRONG>termname_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>typeahead_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>fd</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>unget_wch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>ungetch_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>ungetmouse_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>MEVENT*</STRONG> <EM>event</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>use_default_colors_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>use_env_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>bool</STRONG> <EM>bf</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vid_puts_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>attr_t</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>short</STRONG> <EM>pair</EM><STRONG>,</STRONG> <STRONG>void</STRONG> <STRONG>*</STRONG> <EM>opts</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vidattr_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>);</STRONG>
<STRONG>int</STRONG> <STRONG>vidputs_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>attrs</EM><STRONG>,</STRONG> <STRONG>NCURSES_SP_OUTC</STRONG> <EM>putc</EM><STRONG>);</STRONG>
- <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>wchar_t*</STRONG> <STRONG>wunctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>#include</STRONG> <STRONG><form.h></STRONG>
<STRONG>#include</STRONG> <STRONG><unctrl.h></STRONG>
- <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
+ <STRONG>NCURSES_CONST</STRONG> <STRONG>char*</STRONG> <STRONG>unctrl_sp(SCREEN*</STRONG> <EM>sp</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_sp_funcs.3x.html">curs_sp_funcs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termattrs.3x,v 1.38 2024/04/13 22:16:39 tom Exp @
+ * @Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termattrs 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termattrs 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termattrs 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
<STRONG>int</STRONG> <STRONG>baudrate(void);</STRONG>
<STRONG>char</STRONG> <STRONG>erasechar(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>erasewchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_ic(void);</STRONG>
<STRONG>bool</STRONG> <STRONG>has_il(void);</STRONG>
<STRONG>char</STRONG> <STRONG>killchar(void);</STRONG>
- <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>killwchar(wchar_t</STRONG> <STRONG>*</STRONG><EM>wc</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*longname(void);</STRONG>
<STRONG>attr_t</STRONG> <STRONG>term_attrs(void);</STRONG>
<STRONG>chtype</STRONG> <STRONG>termattrs(void);</STRONG>
The <STRONG>erasechar</STRONG> routine returns the user's current erase character.
The <STRONG>erasewchar</STRONG> routine stores the current erase character in the
- location referenced by <EM>ch</EM>. If no erase character has been defined, the
- routine fails and the location referenced by <EM>ch</EM> is not changed.
+ location referenced by <EM>wc</EM>. If no erase character has been defined, the
+ routine fails and the location referenced by <EM>wc</EM> is not changed.
</PRE><H3><a name="h3-has_ic_has_il">has_ic, has_il</a></H3><PRE>
The <STRONG>killchar</STRONG> routine returns the user's current line kill character.
The <STRONG>killwchar</STRONG> routine stores the current line-kill character in the
- location referenced by <EM>ch</EM>. If no line-kill character has been defined,
- the routine fails and the location referenced by <EM>ch</EM> is not changed.
+ location referenced by <EM>wc</EM>. If no line-kill character has been defined,
+ the routine fails and the location referenced by <EM>wc</EM> is not changed.
</PRE><H3><a name="h3-longname">longname</a></H3><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions. It changes
- the return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of
+ X/Open Curses, Issue 4 describes these functions. It changes the
+ return type of <STRONG>termattrs</STRONG> to the new type <STRONG>attr_t</STRONG>. Most versions of
curses truncate the result returned by <STRONG>termname</STRONG> to 14 characters.
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_termcap.3x,v 1.83 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_termcap.3x,v 1.85 2024/04/20 19:13:12 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_termcap 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_termcap 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_termcap 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_termcap 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
implementations conforming to portions of X/Open Curses now
withdrawn. The BSD <EM>termcap</EM> library would store a copy of the
terminal type description in the area referenced by this
- pointer. <EM>ncurses</EM> stores terminal type descriptions in compiled
+ pointer. <EM>terminfo</EM> stores terminal type descriptions in compiled
form, which is not the same thing.
<STRONG>o</STRONG> The meanings of the return values differ. The BSD <EM>termcap</EM>
parameterized string capability, be aware that it is returned in <EM>term-</EM>
<EM>info</EM> notation, not the older and not-quite-compatible <EM>termcap</EM> notation.
This does not cause problems if all you do with it is call <STRONG>tgoto</STRONG> or
- <STRONG>tparm</STRONG>, which both expand <EM>terminfo</EM>-style strings as <EM>terminfo</EM> does. (If
- <EM>ncurses</EM> is configured to support <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the
- string is <EM>terminfo</EM>-style by looking for "<STRONG>%p</STRONG>" parameters or "<STRONG><</STRONG>...<STRONG>></STRONG>"
- delays, and invokes a <EM>termcap</EM>-style parser if the string appears not to
- use <EM>terminfo</EM> syntax.)
+ <STRONG>tparm</STRONG>, which both parametrically expand <EM>terminfo</EM>-style string
+ capabilities as <EM>terminfo</EM> does. (If <EM>ncurses</EM> is configured to support
+ <EM>termcap,</EM> <STRONG>tgoto</STRONG> checks whether the string is <EM>terminfo</EM>-style by looking
+ for "<STRONG>%p</STRONG>" parameters or "<STRONG><</STRONG>...<STRONG>></STRONG>" delays, and invokes a <EM>termcap</EM>-style
+ parser if the string appears not to use <EM>terminfo</EM> syntax.)
Because <EM>terminfo</EM>'s syntax for padding in string capabilities differs
from <EM>termcap</EM>'s, users can be surprised.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_termcap.3x.html">curs_termcap(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_terminfo 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_terminfo 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_terminfo 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_terminfo 3x 2024-04-13 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
+ncurses 6.5 2024-04-13 <STRONG><A HREF="curs_terminfo.3x.html">curs_terminfo(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_threads 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_threads 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_threads 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_threads 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_touch.3x,v 1.44 2024/03/16 15:49:58 tom Exp @
+ * @Id: curs_touch.3x,v 1.47 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_touch 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_touch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_touch 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_touch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
<STRONG>is_linetouched</STRONG>
returns an error if the window pointer is null, or if the line
- number is outside the window.
+ number is outside the window boundaries.
The constant <STRONG>ERR</STRONG> is distinct from <STRONG>TRUE</STRONG> and <STRONG>FALSE</STRONG>, which are the
normal return values of this function. Because the function
<STRONG>wtouchln</STRONG>
returns an error if the window pointer is null, or if the line
- number is outside the window.
+ number is outside the window boundaries.
</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
does not check the window parameter <EM>win</EM> to ensure that it is not <STRONG>NULL</STRONG>;
otherwise this implementation behaves the same as SVr4.
- The XSI Curses standard, Issue 4 describes these functions, but defines
- no error conditions.
+ X/Open Curses, Issue 4 describes these functions, but defines no error
+ conditions.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_trace.3x,v 1.47 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_trace.3x,v 1.50 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_trace 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_trace 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_trace 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_trace 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>param</EM><STRONG>);</STRONG>
+ <STRONG>unsigned</STRONG> <STRONG>curses_trace(const</STRONG> <STRONG>unsigned</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>_tracef(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>format</EM><STRONG>,</STRONG> <STRONG>...);</STRONG>
<STRONG>char</STRONG> <STRONG>*_traceattr2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracecchar_t(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracecchar_t2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>string</EM><STRONG>);</STRONG>
- <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>char</STRONG> <STRONG>*_tracechar(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracechtype(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracechtype2(int</STRONG> <EM>buffer</EM><STRONG>,</STRONG> <STRONG>chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
<STRONG>char</STRONG> <STRONG>*_tracemouse(const</STRONG> <STRONG>MEVENT</STRONG> <STRONG>*</STRONG><EM>event</EM><STRONG>);</STRONG>
<EM>/*</EM> <EM>deprecated</EM> <EM>*/</EM>
- <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>param</EM><STRONG>);</STRONG>
+ <STRONG>void</STRONG> <STRONG>trace(const</STRONG> <STRONG>unsigned</STRONG> <STRONG>int</STRONG> <EM>trace-mask</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- These functions are not part of the XSI interface. Some other curses
- implementations are known to have similar features, but they are not
- compatible with <EM>ncurses</EM>:
+ These functions are not part of the X/Open Curses interface. Some
+ other curses implementations are known to have similar features, but
+ they are not compatible with <EM>ncurses</EM>:
<STRONG>o</STRONG> SVr4 provided <STRONG>traceon</STRONG> and <STRONG>traceoff</STRONG>, to control whether debugging
information was written to the "trace" file. While the functions
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_trace.3x.html">curs_trace(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_util.3x,v 1.98 2024/03/16 15:50:09 tom Exp @
+ * @Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_util 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_util 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_util 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_util 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>c</EM><STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*unctrl(chtype</STRONG> <EM>ch</EM><STRONG>);</STRONG>
+ <STRONG>wchar_t</STRONG> <STRONG>*wunctrl(cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
<STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*keyname(int</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>w</EM><STRONG>);</STRONG>
+ <STRONG>const</STRONG> <STRONG>char</STRONG> <STRONG>*key_name(wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
<STRONG>void</STRONG> <STRONG>filter(void);</STRONG>
</PRE><H3><a name="h3-unctrl">unctrl</a></H3><PRE>
The <STRONG>unctrl</STRONG> routine returns a character string which is a printable
- representation of the character <EM>c</EM>:
+ representation of the character <EM>ch</EM>:
<STRONG>o</STRONG> Printable characters are displayed as themselves, e.g., a one-
character string containing the key.
this follows the X/Open specification.
The corresponding <STRONG>wunctrl</STRONG> returns a printable representation of a
- complex character <EM>c</EM>.
+ complex character <EM>wch</EM>.
In both <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> the attributes and color associated with the
character parameter are ignored.
</PRE><H3><a name="h3-filter">filter</a></H3><PRE>
The SVr4 documentation describes the action of <STRONG>filter</STRONG> only in the
- vaguest terms. The description here is adapted from the XSI Curses
- standard (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
+ vaguest terms. The description here is adapted from X/Open Curses
+ (which erroneously fails to describe the disabling of <STRONG>cuu</STRONG>).
</PRE><H3><a name="h3-delay_output-padding">delay_output padding</a></H3><PRE>
</PRE><H3><a name="h3-unctrl_wunctrl">unctrl, wunctrl</a></H3><PRE>
- The XSI Curses standard, Issue 4 describes these functions. It states
- that <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but
- does not define any error conditions. This implementation checks for
- three cases:
+ X/Open Curses, Issue 4 describes these functions. It states that
+ <STRONG>unctrl</STRONG> and <STRONG>wunctrl</STRONG> will return a null pointer if unsuccessful, but does
+ not define any error conditions. This implementation checks for three
+ cases:
<STRONG>o</STRONG> the parameter is a 7-bit US-ASCII code. This is the case that
X/Open Curses documented.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_variables 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_variables 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_variables 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_variables 3x 2024-04-13 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
+ncurses 6.5 2024-04-13 <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: curs_window.3x,v 1.46 2024/03/16 15:35:01 tom Exp @
+ * @Id: curs_window.3x,v 1.48 2024/04/20 21:20:07 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_window 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>curs_window 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">curs_window 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">curs_window 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- The XSI Curses standard, Issue 4 describes these functions.
+ X/Open Curses, Issue 4 describes these functions.
X/Open Curses states regarding <STRONG>delwin</STRONG>:
-ncurses 6.4 2024-03-16 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>default_colors 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>default_colors 3x 2024-04-13 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">default_colors 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">default_colors 3x 2024-04-13 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG> Library calls <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
+ncurses 6.5 2024-04-13 <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>define_key 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>define_key 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">define_key 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">define_key 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG> Library calls <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form.3x.html">form(3x)</A></STRONG> Library calls <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form.3x.html">form(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_cursor 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_cursor 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_cursor 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_cursor 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_cursor.3x.html">form_cursor(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_data 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_data 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_data 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_data 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG> Library calls <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_data.3x.html">form_data(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: form_driver.3x,v 1.59 2024/03/16 15:35:01 tom Exp @
+ * @Id: form_driver.3x,v 1.61 2024/04/20 18:55:09 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_driver 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_driver 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_driver 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_driver 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
<STRONG>#include</STRONG> <STRONG><form.h></STRONG>
<STRONG>int</STRONG> <STRONG>form_driver(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>);</STRONG>
- <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wch</EM><STRONG>);</STRONG>
+ <STRONG>int</STRONG> <STRONG>form_driver_w(FORM</STRONG> <STRONG>*</STRONG><EM>form</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>c</EM><STRONG>,</STRONG> <STRONG>wchar_t</STRONG> <EM>wc</EM><STRONG>);</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="form_driver.3x.html">form_driver(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field.3x.html">form_field(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_attributes 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_attributes 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_attributes 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_attributes 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_attributes.3x.html">form_field_attributes(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_buffer 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_buffer 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_buffer 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_buffer 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_buffer.3x.html">form_field_buffer(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_info 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_info 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_info 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_info 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_info.3x.html">form_field_info(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_just 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_just 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_just 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_just 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_just.3x.html">form_field_just(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_new.3x.html">form_field_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_opts.3x.html">form_field_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_userptr.3x.html">form_field_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_field_validation 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_field_validation 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_field_validation 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_field_validation 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG> Library calls <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_field_validation.3x.html">form_field_validation(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_fieldtype 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_fieldtype 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_fieldtype 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_fieldtype 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG> Library calls <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_fieldtype.3x.html">form_fieldtype(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_hook 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_hook 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_hook 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_hook 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_hook.3x.html">form_hook(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_new.3x.html">form_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_new_page 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_new_page 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_new_page 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_new_page 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_new_page.3x.html">form_new_page(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_opts.3x.html">form_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_page 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_page 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_page 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_page 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG> Library calls <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_page.3x.html">form_page(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_post 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_post 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_post 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_post 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG> Library calls <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_post.3x.html">form_post(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_requestname 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_requestname 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_requestname 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_requestname 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_requestname.3x.html">form_requestname(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_userptr.3x.html">form_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_variables 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_variables 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_variables 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_variables 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_variables.3x.html">form_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>form_win 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>form_win 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">form_win 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">form_win 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG> Library calls <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="form_win.3x.html">form_win(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infocmp 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>infocmp 1m 2024-03-16 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infocmp 1m 2024-03-16 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG> User commands <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>infotocap 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>infotocap 1m 2024-03-16 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">infotocap 1m 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">infotocap 1m 2024-03-16 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG> User commands <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="infotocap.1m.html">infotocap(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>key_defined 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>key_defined 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">key_defined 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">key_defined 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG> Library calls <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keybound 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>keybound 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">keybound 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">keybound 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG> Library calls <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>keyok 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>keyok 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">keyok 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">keyok 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG> Library calls <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* authorization. *
****************************************************************************
* Author: Thomas E. Dickey
- * @Id: legacy_coding.3x,v 1.26 2024/03/16 15:35:01 tom Exp @
+ * @Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>legacy_coding 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">legacy_coding 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">legacy_coding 3x 2024-04-20 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG> Library calls <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
- The <STRONG>use_legacy_coding</STRONG> function is an extension to the curses library.
- It allows the caller to change the result of <STRONG>unctrl</STRONG>, and suppress
- related checks within the library that would normally cause nonprinting
- characters to be rendered in visible form. This affects only 8-bit
- characters.
+ <STRONG>use_legacy_coding</STRONG> is an extension to the <EM>curses</EM> library. It allows the
+ caller to change the result of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, suppressing <STRONG>isprint(3)</STRONG>-based
+ checks within the library that would normally cause nonprinting
+ characters to be rendered in visible form. The alteration affects only
+ eight-bit characters.
- The <EM>level</EM> parameter controls the result:
+ The <EM>level</EM> parameter controls the result.
- 0 the library functions normally, rendering nonprinting
- characters as described in <STRONG>unctrl</STRONG>.
+ <STRONG>0</STRONG> The library functions normally, rendering nonprinting
+ characters as described in <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>,
- 1 the library ignores <STRONG>isprintf</STRONG> for codes in the range
- 160-255.
+ <STRONG>1</STRONG> the library ignores <EM>isprint</EM> for codes in the range 160-255.
- 2 the library ignores <STRONG>isprintf</STRONG> for codes in the range
- 128-255. It also modifies the output of <STRONG>unctrl</STRONG>, showing
- codes in the range 128-159 as is.
+ <STRONG>2</STRONG> the library ignores <EM>isprint</EM> for codes in the range 128-255.
+ It also modifies the output of <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>, showing codes in
+ the range 128-159 as is.
</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
- If the screen has not been initialized, or the <EM>level</EM> parameter is out
- of range, the function returns <STRONG>ERR</STRONG>. Otherwise, it returns the previous
- level: <STRONG>0</STRONG>, <STRONG>1</STRONG> or <STRONG>2</STRONG>.
+ If the screen has not been initialized, or the <EM>level</EM> parameter is out
+ of range, <STRONG>use_legacy_coding</STRONG> returns <STRONG>ERR</STRONG>. Otherwise, it returns the
+ previous level: <STRONG>0</STRONG>, <STRONG>1</STRONG>, or <STRONG>2</STRONG>.
</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
- This routine is specific to <EM>ncurses</EM>. It was not supported on Version
- 7, BSD or System V implementations. It is recommended that any code
- depending on <EM>ncurses</EM> extensions be conditioned using NCURSES_VERSION.
+ <STRONG>use_legacy_coding</STRONG> is specific to <EM>ncurses</EM>. It was not supported on
+ Version 7, BSD or System V implementations. Applications employing
+ <EM>ncurses</EM> extensions should condition their use on the visibility of the
+ <STRONG>NCURSES_VERSION</STRONG> preprocessor macro.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
- Thomas Dickey (to support lynx's font-switching feature).
+ Thomas Dickey (to support <STRONG>lynx(1)</STRONG>'s font-switching feature).
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="legacy_coding.3x.html">legacy_coding(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG> Library calls <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu.3x.html">menu(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_attributes 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_attributes 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_attributes 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_attributes 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_attributes.3x.html">menu_attributes(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_cursor 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_cursor 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_cursor 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_cursor 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_cursor.3x.html">menu_cursor(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_driver 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_driver 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_driver 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_driver 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_driver.3x.html">menu_driver(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_format 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_format 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_format 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_format 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_format.3x.html">menu_format(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_hook 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_hook 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_hook 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_hook 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_hook.3x.html">menu_hook(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_items 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_items 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_items 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_items 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_items.3x.html">menu_items(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_mark 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_mark 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_mark 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_mark 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_mark.3x.html">menu_mark(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_new.3x.html">menu_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_opts.3x.html">menu_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_pattern 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_pattern 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_pattern 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_pattern 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_pattern.3x.html">menu_pattern(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_post 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_post 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_post 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_post 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_post.3x.html">menu_post(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_requestname 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_requestname 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_requestname 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_requestname 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_requestname.3x.html">menu_requestname(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_spacing 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_spacing 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_spacing 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_spacing 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_spacing.3x.html">menu_spacing(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_userptr.3x.html">menu_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>menu_win 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>menu_win 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">menu_win 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">menu_win 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG> Library calls <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="menu_win.3x.html">menu_win(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_current 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_current 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_current 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_current 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_current.3x.html">mitem_current(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_name 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_name 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_name 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_name 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_name.3x.html">mitem_name(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_new 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_new 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_new 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_new 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_new.3x.html">mitem_new(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_opts 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_opts 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_opts 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_opts 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_opts.3x.html">mitem_opts(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_userptr 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_userptr 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_userptr 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_userptr 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_userptr.3x.html">mitem_userptr(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_value 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_value 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_value 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_value 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_value.3x.html">mitem_value(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>mitem_visible 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>mitem_visible 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">mitem_visible 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">mitem_visible 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG> Library calls <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="mitem_visible.3x.html">mitem_visible(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: ncurses.3x,v 1.207 2024/04/14 00:34:00 tom Exp @
+ * @Id: ncurses.3x,v 1.214 2024/04/27 17:55:43 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncurses 3x 2024-04-13 ncurses 6.4 Library calls</TITLE>
+<TITLE>ncurses 3x 2024-04-27 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncurses 3x 2024-04-13 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">ncurses 3x 2024-04-27 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> Library calls <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
terminals with output optimized to minimize screen updates. <EM>ncurses</EM>
replaces the <EM>curses</EM> libraries from System V Release 4 Unix ("SVr4") and
4.4BSD Unix, the development of which ceased in the 1990s. This
- describes <EM>ncurses</EM> version 6.4 (patch 20240413).
+ document describes <EM>ncurses</EM> version 6.5 (patch 20240427).
<EM>ncurses</EM> permits control of the terminal screen's contents; abstraction
and subdivision thereof with <EM>windows</EM> and <EM>pads</EM>; the reading of terminal
parameters.
<EM>bf</EM> <EM>bool</EM> (<STRONG>TRUE</STRONG> or <STRONG>FALSE</STRONG>)
+ <EM>c</EM> a <EM>char</EM> or <EM>int</EM>
+ <EM>ch</EM> a <EM>chtype</EM>
+ <EM>wc</EM> a <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> or <EM>wint</EM><STRONG>_</STRONG><EM>t</EM>
+ <EM>wch</EM> a <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>
<EM>win</EM> pointer to a <EM>WINDOW</EM>
<EM>pad</EM> pointer to a <EM>WINDOW</EM> that is a pad
doupdate <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>
dupwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
echo <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
+
echo_wchar <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
echochar <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG>
endwin <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
erase <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>
-
erasechar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
erasewchar <STRONG><A HREF="curs_termattrs.3x.html">curs_termattrs(3x)</A></STRONG>
exit_curses <STRONG><A HREF="curs_memleaks.3x.html">curs_memleaks(3x)</A></STRONG>*
init_pair <STRONG><A HREF="curs_color.3x.html">curs_color(3x)</A></STRONG>
initscr <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
innstr <STRONG><A HREF="curs_instr.3x.html">curs_instr(3x)</A></STRONG>
+
innwstr <STRONG><A HREF="curs_inwstr.3x.html">curs_inwstr(3x)</A></STRONG>
ins_nwstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
ins_wch <STRONG><A HREF="curs_ins_wch.3x.html">curs_ins_wch(3x)</A></STRONG>
ins_wstr <STRONG><A HREF="curs_ins_wstr.3x.html">curs_ins_wstr(3x)</A></STRONG>
-
insch <STRONG><A HREF="curs_insch.3x.html">curs_insch(3x)</A></STRONG>
insdelln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
insertln <STRONG><A HREF="curs_deleteln.3x.html">curs_deleteln(3x)</A></STRONG>
mvget_wch <STRONG><A HREF="curs_get_wch.3x.html">curs_get_wch(3x)</A></STRONG>
mvget_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
mvgetch <STRONG><A HREF="curs_getch.3x.html">curs_getch(3x)</A></STRONG>
+
mvgetn_wstr <STRONG><A HREF="curs_get_wstr.3x.html">curs_get_wstr(3x)</A></STRONG>
mvgetnstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
mvgetstr <STRONG><A HREF="curs_getstr.3x.html">curs_getstr(3x)</A></STRONG>
mvhline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
-
mvhline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
mvin_wch <STRONG><A HREF="curs_in_wch.3x.html">curs_in_wch(3x)</A></STRONG>
mvin_wchnstr <STRONG><A HREF="curs_in_wchstr.3x.html">curs_in_wchstr(3x)</A></STRONG>
mvwprintw <STRONG><A HREF="curs_printw.3x.html">curs_printw(3x)</A></STRONG>
mvwscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
mvwvline <STRONG><A HREF="curs_border.3x.html">curs_border(3x)</A></STRONG>
+
mvwvline_set <STRONG><A HREF="curs_border_set.3x.html">curs_border_set(3x)</A></STRONG>
napms <STRONG><A HREF="curs_kernel.3x.html">curs_kernel(3x)</A></STRONG>
newpad <STRONG><A HREF="curs_pad.3x.html">curs_pad(3x)</A></STRONG>
newterm <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>
-
newwin <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
nl <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
nocbreak <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
slk_init <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_label <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_noutrefresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
+
slk_refresh <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_restore <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_set <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
slk_touch <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
-
slk_wset <STRONG><A HREF="curs_slk.3x.html">curs_slk(3x)</A></STRONG>
standend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
standout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
waddnwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
waddstr <STRONG><A HREF="curs_addstr.3x.html">curs_addstr(3x)</A></STRONG>
waddwstr <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>
+
wattr_get <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattr_off <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattr_on <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattr_set <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
-
wattroff <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattron <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wattrset <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wscanw <STRONG><A HREF="curs_scanw.3x.html">curs_scanw(3x)</A></STRONG>
wscrl <STRONG><A HREF="curs_scroll.3x.html">curs_scroll(3x)</A></STRONG>
wsetscrreg <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>
+
wstandend <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wstandout <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>
wsyncdown <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
wsyncup <STRONG><A HREF="curs_window.3x.html">curs_window(3x)</A></STRONG>
-
wtimeout <STRONG><A HREF="curs_inopts.3x.html">curs_inopts(3x)</A></STRONG>
wtouchln <STRONG><A HREF="curs_touch.3x.html">curs_touch(3x)</A></STRONG>
wunctrl <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>
Unless otherwise noted, functions that return an integer return <STRONG>OK</STRONG> on
success and <STRONG>ERR</STRONG> on failure. Functions that return pointers return <STRONG>NULL</STRONG>
on failure. Typically, <EM>ncurses</EM> treats a null pointer passed as a
- function parameter as a failure. Functions with a "mv" prefix first
- perform cursor movement using <STRONG><A HREF="curs_move.3x.html">wmove(3x)</A></STRONG> and fail if the position is
- outside the window.
+ function parameter as a failure. Functions prefixed with "mv" first
+ perform cursor movement and fail if the position (<EM>y</EM>, <EM>x</EM>) is outside the
+ window boundaries.
</PRE><H2><a name="h2-ENVIRONMENT">ENVIRONMENT</a></H2><PRE>
pause after directing a terminal to execute an operation that it
performs slowly, such as clearing the display. Many terminal type
descriptions, including that for the VT100, embed delay specifications
- in capabilities. You may wish to use these temrinal descriptions
+ in capabilities. You may wish to use these terminal descriptions
without paying the performance penalty. Set <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>PADDING</EM> to any
value to disable all but mandatory padding. Mandatory padding is used
by such terminal capabilities as <STRONG>flash_screen</STRONG> (<STRONG>flash</STRONG>).
</PRE><H3><a name="h3-TERM"><EM>TERM</EM></a></H3><PRE>
- Denotes your terminal type. Each terminal type is distinct, though
- many are similar.
-
- <EM>TERM</EM> is commonly set by terminal emulators to help applications find a
- workable terminal description. Some of those choose a popular
- approximation, e.g., "ansi", "vt100", "xterm" rather than an exact fit.
- Not infrequently, your application will have problems with that
- approach, e.g., incorrect function-key definitions.
-
- If you set <EM>TERM</EM> in your environment, it has no effect on the operation
- of the terminal emulator. It only affects the way applications work
- within the terminal. Likewise, as a general rule (<STRONG>xterm(1)</STRONG> being a
- rare exception), terminal emulators which allow you to specify <EM>TERM</EM> as
- a parameter or configuration value do not change their behavior to
- match that setting.
+ The <EM>TERM</EM> variable denotes the terminal type. Each is distinct, though
+ many are similar. It is commonly set by terminal emulators to help
+ applications find a workable terminal description. Some choose a
+ popular approximation such as "ansi", "vt100", or "xterm" rather than
+ an exact fit to their capabilities. Not infrequently, an application
+ will have problems with that approach; for example, a key stroke may
+ not operate correctly, or produce no effect but seeming garbage
+ characters on the screen.
+
+ Setting <EM>TERM</EM> has no effect on hardware operation; it affects the way
+ applications communicate with the terminal. Likewise, as a general
+ rule (<STRONG>xterm(1)</STRONG> being a rare exception), terminal emulators that allow
+ you to specify <EM>TERM</EM> as a parameter or configuration value do not change
+ their behavior to match that setting.
</PRE><H3><a name="h3-TERMCAP"><EM>TERMCAP</EM></a></H3><PRE>
- If the <EM>ncurses</EM> library has been configured with <EM>termcap</EM> support,
- <EM>ncurses</EM> will check for a terminal's description in termcap form if it
- is not available in the terminfo database.
-
- The <EM>TERMCAP</EM> environment variable contains either a terminal description
- (with newlines stripped out), or a file name telling where the
- information denoted by the <EM>TERM</EM> environment variable exists. In either
- case, setting it directs <EM>ncurses</EM> to ignore the usual place for this
- information, e.g., /etc/termcap.
+ If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, it checks for a terminal
+ type description in <EM>termcap</EM> format if one in <EM>terminfo</EM> format is not
+ available. Setting this variable directs <EM>ncurses</EM> to ignore the usual
+ <EM>termcap</EM> database location, <EM>/etc/termcap</EM>; see <EM>TERMPATH</EM> below. <EM>TERMCAP</EM>
+ should contain either a terminal description (with newlines stripped
+ out), or a file name indicating where the information required by the
+ <EM>TERM</EM> environment variable is stored.
</PRE><H3><a name="h3-TERMINFO"><EM>TERMINFO</EM></a></H3><PRE>
- <EM>ncurses</EM> can be configured to read from multiple terminal databases.
- The <EM>TERMINFO</EM> variable overrides the location for the default terminal
- database. Terminal descriptions (in terminal format) are stored in
- terminal databases:
-
- <STRONG>o</STRONG> Normally these are stored in a directory tree, using subdirectories
- named by the first letter of the terminal names therein.
-
- This is the scheme used in System V, which legacy Unix systems use,
- and the <EM>TERMINFO</EM> variable is used by <EM>curses</EM> applications on those
- systems to override the default location of the terminal database.
-
- <STRONG>o</STRONG> If <EM>ncurses</EM> is built to use hashed databases, then each entry in
- this list may be the path of a hashed database file, e.g.,
-
- /usr/share/terminfo.db
+ <EM>ncurses</EM> can be configured to read terminal type description databases
+ in various locations using different formats. This variable overrides
+ the default location.
- rather than
+ <STRONG>o</STRONG> Descriptions in <EM>terminfo</EM> format are normally stored in a directory
+ tree using subdirectories named by the common first letters of the
+ terminal types named therein. This is the scheme used in System V.
- /usr/share/terminfo/
+ <STRONG>o</STRONG> If <EM>ncurses</EM> is configured to use hashed databases, then <EM>TERMINFO</EM> may
+ name its location, such as <EM>/usr/share/terminfo.db</EM>, rather than
+ <EM>/usr/share/terminfo/</EM>.
- The hashed database uses less disk-space and is a little faster
- than the directory tree. However, some applications assume the
- existence of the directory tree, reading it directly rather than
- using the terminfo library calls.
+ The hashed database uses less disk space and is a little faster than
+ the directory tree. However, some applications assume the existence of
+ the directory tree, and read it directly rather than using the <EM>terminfo</EM>
+ API.
- <STRONG>o</STRONG> If <EM>ncurses</EM> is built with a support for reading termcap files
- directly, then an entry in this list may be the path of a termcap
- file.
+ <STRONG>o</STRONG> If <EM>ncurses</EM> is configured with <EM>termcap</EM> support, this variable may
+ contain the location of a <EM>termcap</EM> file.
- <STRONG>o</STRONG> If the <EM>TERMINFO</EM> variable begins with "hex:" or "b64:", <EM>ncurses</EM> uses
- the remainder of that variable as a compiled terminal description.
- You might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>:
+ <STRONG>o</STRONG> If the value of <EM>TERMINFO</EM> begins with "hex:" or "b64:", <EM>ncurses</EM> uses
+ the remainder of the value as a compiled <EM>terminfo</EM> description. You
+ might produce the base64 format using <STRONG><A HREF="infocmp.1m.html">infocmp(1m)</A></STRONG>.
- TERMINFO="$(infocmp -0 -Q2 -q)"
- export TERMINFO
+ TERMINFO=$(infocmp -0 -Q2 -q)
+ export TERMINFO
- The compiled description is used if it corresponds to the terminal
- identified by the <EM>TERM</EM> variable.
+ The compiled description is used only if it corresponds to the
+ terminal type identified by <EM>TERM</EM>.
- Setting <EM>TERMINFO</EM> is the simplest, but not the only way to set location
- of the default terminal database. The complete list of database
- locations in order follows:
+ Setting <EM>TERMINFO</EM> is the simplest, but not the only, way to direct
+ <EM>ncurses</EM> to a terminal database. The search path is as follows.
- <STRONG>o</STRONG> the last terminal database to which <EM>ncurses</EM> wrote, if any, is
- searched first
+ <STRONG>o</STRONG> the last terminal database to which the running <EM>ncurses</EM> application
+ wrote, if any
- <STRONG>o</STRONG> the location specified by the <EM>TERMINFO</EM> environment variable
+ <STRONG>o</STRONG> the location specified by the <EM>TERMINFO</EM> environment variable
- <STRONG>o</STRONG> $HOME/.terminfo
+ <STRONG>o</STRONG> <EM>$HOME/.terminfo</EM>
- <STRONG>o</STRONG> locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
+ <STRONG>o</STRONG> locations listed in the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> environment variable
- <STRONG>o</STRONG> one or more locations whose names are configured and compiled
- into the <EM>ncurses</EM> library, i.e.,
+ <STRONG>o</STRONG> location(s) configured and compiled into <EM>ncurses</EM>
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM>
- variable)
-
- <STRONG>o</STRONG> /usr/share/terminfo (corresponding to the <EM>TERMINFO</EM> variable)
+ <STRONG>o</STRONG> <EM>/usr/share/terminfo</EM>
</PRE><H3><a name="h3-TERMINFO_DIRS"><EM>TERMINFO_DIRS</EM></a></H3><PRE>
- Specifies a list of locations to search for terminal descriptions.
- Each location in the list is a terminal database as described in the
- section on the <EM>TERMINFO</EM> variable. The list is separated by colons
- (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- There is no corresponding feature in System V terminfo; it is an
- extension developed for <EM>ncurses</EM>.
+ This variable specifies a list of locations, akin to <EM>PATH</EM>, in which
+ <EM>ncurses</EM> searches for the terminal type descriptions described by
+ <EM>TERMINFO</EM> above. The list items are separated by colons on Unix and
+ semicolons on OS/2 EMX. System V <EM>terminfo</EM> lacks a corresponding
+ feature; <EM>TERMINFO</EM><STRONG>_</STRONG><EM>DIRS</EM> is an <EM>ncurses</EM> extension.
</PRE><H3><a name="h3-TERMPATH"><EM>TERMPATH</EM></a></H3><PRE>
- If <EM>TERMCAP</EM> does not hold a file name then <EM>ncurses</EM> checks the <EM>TERMPATH</EM>
- environment variable. This is a list of filenames separated by spaces
- or colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
-
- If the <EM>TERMPATH</EM> environment variable is not set, <EM>ncurses</EM> looks in the
- files
-
- /etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
+ If <EM>TERMCAP</EM> does not hold a terminal type description or file name, then
+ <EM>ncurses</EM> checks the contents of <EM>TERMPATH</EM>, a list of locations, akin to
+ <EM>PATH</EM>, in which it searches for <EM>termcap</EM> terminal type descriptions. The
+ list items are separated by colons on Unix and semicolons on OS/2 EMX.
- in that order.
+ If both <EM>TERMCAP</EM> and <EM>TERMPATH</EM> are unset or invalid, <EM>ncurses</EM> searches for
+ the files <EM>/etc/termcap</EM>, <EM>/usr/share/misc/termcap</EM>, and <EM>$HOME/.termcap</EM>, in
+ that order.
</PRE><H2><a name="h2-ALTERNATE-CONFIGURATIONS">ALTERNATE CONFIGURATIONS</a></H2><PRE>
the script with the <STRONG>--help</STRONG> option to peruse them all. A few are of
particular significance to the application developer employing <EM>ncurses</EM>.
- --disable-overwrite
+ <STRONG>--disable-overwrite</STRONG>
The standard include for <EM>ncurses</EM> is as noted in <STRONG>SYNOPSIS</STRONG>:
<STRONG>#include</STRONG> <STRONG><curses.h></STRONG>
It also omits a symbolic link which would allow you to use
<STRONG>-lcurses</STRONG> to build executables.
- --enable-widec
+ <STRONG>--enable-widec</STRONG>
The configure script renames the library and (if the
<STRONG>--disable-overwrite</STRONG> option is used) puts the header files in a
different subdirectory. All of the library names have a "w"
You must also enable the wide-character features in the header
file when compiling for the wide-character library to use the
extended (wide-character) functions. The symbol which enables
- these features has changed since XSI Curses, Issue 4:
+ these features has changed since X/Open Curses, Issue 4:
<STRONG>o</STRONG> Originally, the wide-character feature required the symbol
<STRONG>_XOPEN_SOURCE_EXTENDED</STRONG> but that was only valid for XPG4
applications to be built using either library from the same set of
headers.
- --with-pthread
+ <STRONG>--with-pthread</STRONG>
The configure script renames the library. All of the library
names have a "t" appended to them (before any "w" added by
<STRONG>--enable-widec</STRONG>).
to set these values. Some applications (very few) may require
changes to work with this convention.
- --with-shared
-
- --with-normal
-
- --with-debug
-
- --with-profile
+ <STRONG>--with-shared</STRONG>
+ <STRONG>--with-normal</STRONG>
+ <STRONG>--with-debug</STRONG>
+ <STRONG>--with-profile</STRONG>
The shared and normal (static) library names differ by their
suffixes, e.g., <STRONG>libncurses.so</STRONG> and <STRONG>libncurses.a</STRONG>. The debug and
profiling libraries add a "_g" and a "_p" to the root names
respectively, e.g., <STRONG>libncurses_g.a</STRONG> and <STRONG>libncurses_p.a</STRONG>.
- --with-termlib
+ <STRONG>--with-termlib</STRONG>
Low-level functions which do not depend upon whether the library
supports wide-characters, are provided in the tinfo library.
<STRONG>o</STRONG> <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG> - miscellaneous <EM>curses</EM> utility routines
- --with-trace
+ <STRONG>--with-trace</STRONG>
The <STRONG>trace</STRONG> function normally resides in the debug library, but it
is sometimes useful to configure this in the shared library.
Configure scripts should check for the function's existence rather
If the standard output file descriptor of an <EM>ncurses</EM> program is
redirected to something that is not a terminal device, the library
writes screen updates to the standard error file descriptor. This was
- an undocumented feature of SVr3.
+ an undocumented feature of SVr3 <EM>curses</EM>.
- See subsection "Header files" below regarding symbols exposed by
+ See subsection "Header Files" below regarding symbols exposed by
inclusion of <EM>curses.h</EM>.
</PRE><H2><a name="h2-EXTENSIONS">EXTENSIONS</a></H2><PRE>
<EM>ncurses</EM> enables an application to capture mouse events on certain
- terminals, including <EM>xterm</EM>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
+ terminals, including <STRONG>xterm(1)</STRONG>; see <STRONG><A HREF="curs_mouse.3x.html">curs_mouse(3x)</A></STRONG>.
<EM>ncurses</EM> provides a means of responding to window resizing events, as
when running in a GUI terminal emulator application such as <EM>xterm</EM>; see
<EM>ncurses</EM> extends the fixed set of function key capabilities specified by
X/Open Curses by allowing the application programmer to define
- additional key sequences at runtime; see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>,
- <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
+ additional key events at runtime; see <STRONG><A HREF="define_key.3x.html">define_key(3x)</A></STRONG>, <STRONG><A HREF="key_defined.3x.html">key_defined(3x)</A></STRONG>,
+ <STRONG><A HREF="keybound.3x.html">keybound(3x)</A></STRONG>, and <STRONG><A HREF="keyok.3x.html">keyok(3x)</A></STRONG>.
<EM>ncurses</EM> can exploit the capabilities of terminals implementing
ISO 6429/ECMA-48 SGR 39 and SGR 49 sequences, which allow an
to draw colored text on a background whose color is set independently,
providing better control over color contrasts. See <STRONG><A HREF="default_colors.3x.html">default_colors(3x)</A></STRONG>.
- An <EM>ncurses</EM> application can choose to hide the internal details of
- <EM>WINDOW</EM> structures, instead using accessor functions such as
- <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
+ An <EM>ncurses</EM> application can eschew knowledge of <EM>WINDOW</EM> structure
+ internals, instead using accessor functions such as <STRONG><A HREF="curs_opaque.3x.html">is_scrollok(3x)</A></STRONG>.
- <EM>ncurses</EM> enables an application to direct application output to a
+ <EM>ncurses</EM> enables an application to direct application output to a
printer attached to the terminal device; see <STRONG><A HREF="curs_print.3x.html">curs_print(3x)</A></STRONG>.
- <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for soft-
- label key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
- that can gather color information from them when many colors are
+ <EM>ncurses</EM> offers <STRONG><A HREF="curs_slk.3x.html">slk_attr(3x)</A></STRONG> as a counterpart of <STRONG><A HREF="curs_attr.3x.html">attr_get(3x)</A></STRONG> for soft-
+ label key lines, and <STRONG><A HREF="curs_slk.3x.html">extended_slk_color(3x)</A></STRONG> as a form of <STRONG><A HREF="curs_slk.3x.html">slk_color(3x)</A></STRONG>
+ that can gather color information from them when many colors are
supported.
- Some extensions are only available if <EM>ncurses</EM> is compiled to support
- them; section "ALTERNATE CONFIGURATIONS" describes how.
+ Some extensions are available only if <EM>ncurses</EM> permits modification of
+ <STRONG><A HREF="unctrl.3x.html">unctrl(3x)</A></STRONG>'s behavior; see <STRONG><A HREF="legacy_coding.3x.html">use_legacy_coding(3x)</A></STRONG>. <EM>ncurses</EM> is compiled
+ to support them; section "ALTERNATE CONFIGURATIONS" describes how.
<STRONG>o</STRONG> Rudimentary support for multi-threaded applications may be
available; see <STRONG><A HREF="curs_threads.3x.html">curs_threads(3x)</A></STRONG>.
X/Open Curses defines two levels of conformance, "base" and "enhanced".
The latter includes several additional features, such as wide-character
and color support. <EM>ncurses</EM> intends base-level conformance with X/Open
- Curses, and supports nearly all its enhanced features.
+ Curses, and supports all features of its enhanced level except the
+ <STRONG>untic</STRONG> utility.
- Differences between X/Open Curses and <EM>ncurses</EM> are documented in the
+ Differences between X/Open Curses and <EM>ncurses</EM> are documented in the
"PORTABILITY" sections of applicable man pages.
</PRE><H3><a name="h3-Error-Checking">Error Checking</a></H3><PRE>
- In many cases, X/Open Curses is vague about error conditions, omitting
+ In many cases, X/Open Curses is vague about error conditions, omitting
some of the SVr4 documentation.
- Unlike other implementations, this one checks parameters such as
- pointers to <EM>WINDOW</EM> structures to ensure they are not null. The main
- reason for providing this behavior is to guard against programmer
- error. The standard interface does not provide a way for the library
- to tell an application which of several possible errors were detected.
- Relying on this (or some other) extension will adversely affect the
- portability of curses applications.
+ Unlike other implementations, <EM>ncurses</EM> checks pointer parameters, such
+ as those to <EM>WINDOW</EM> structures, to ensure that they are not null. This
+ is done primarily to guard against programmer error. The standard
+ interface does not provide a way for the library to tell an application
+ which of several possible errors occurred. Relying on this (or some
+ other) extension adversely affects the portability of <EM>curses</EM>
+ applications.
</PRE><H3><a name="h3-Padding-Differences">Padding Differences</a></H3><PRE>
- In historic curses versions, delays embedded in the capabilities <STRONG>cr</STRONG>,
- <STRONG>ind</STRONG>, <STRONG>cub1</STRONG>, <STRONG>ff</STRONG> and <STRONG>tab</STRONG> activated corresponding delay bits in the Unix
- tty driver. In this implementation, all padding is done by sending NUL
- bytes. This method is slightly more expensive, but narrows the
- interface to the Unix kernel significantly and increases the package's
- portability correspondingly.
+ In historical <EM>curses</EM> implementations, delays embedded in the <EM>terminfo</EM>
+ capabilities <STRONG>carriage_return</STRONG> (<STRONG>cr</STRONG>), <STRONG>scroll_forward</STRONG> (<STRONG>ind</STRONG>), <STRONG>cursor_left</STRONG>
+ (<STRONG>cub1</STRONG>), <STRONG>form_feed</STRONG> (<STRONG>ff</STRONG>), and <STRONG>tab</STRONG> (<STRONG>ht</STRONG>) activated corresponding delay bits
+ in the Unix terminal driver. <EM>ncurses</EM> performs all padding by sending
+ NUL bytes to the device. This method is slightly more expensive, but
+ narrows the interface to the Unix kernel significantly and
+ correspondingly increases the package's portability.
</PRE><H3><a name="h3-Header-Files">Header Files</a></H3><PRE>
The header file <EM>curses.h</EM> itself includes the header files <EM>stdio.h</EM> and
<EM>unctrl.h</EM>.
- X/Open Curses has more to say, but does not finish the story:
+ X/Open Curses has more to say,
- The inclusion of <curses.h> may make visible all symbols from the
- headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>.
+ The inclusion of <EM>curses.h</EM> may make visible all symbols from the
+ headers <EM>stdio.h</EM>, <EM>term.h</EM>, <EM>termios.h</EM>, and <EM>wchar.h</EM>.
- Here is a more complete story:
+ but does not finish the story. A more complete account follows.
- <STRONG>o</STRONG> Starting with BSD curses, all implementations have included
- <stdio.h>.
+ <STRONG>o</STRONG> Starting with 4BSD <EM>curses</EM> (1980) all implementations have provided
+ a <EM>curses.h</EM> file.
- BSD curses included <curses.h> and <unctrl.h> from an internal
- header file <EM>curses.ext</EM> ("ext" abbreviated "externs").
+ BSD <EM>curses</EM> code included <EM>curses.h</EM> and <EM>unctrl.h</EM> from an internal
+ header file <EM>curses.ext</EM>, where "ext" abbreviated "externs".
- BSD curses used <stdio.h> internally (for <STRONG>printw</STRONG> and <STRONG>scanw</STRONG>), but
- nothing in <curses.h> itself relied upon <stdio.h>.
+ The implementations of <EM>printw</EM> and <EM>scanw</EM> used undocumented internal
+ functions of the standard I/O library (<STRONG>_</STRONG><EM>doprnt</EM> and <STRONG>_</STRONG><EM>doscan</EM>), but
+ nothing in <EM>curses.h</EM> itself relied upon <EM>stdio.h</EM>.
- <STRONG>o</STRONG> SVr2 curses added <STRONG><A HREF="curs_initscr.3x.html">newterm(3x)</A></STRONG>, which relies upon <stdio.h>. That
- is, the function prototype uses <STRONG>FILE</STRONG>.
+ <STRONG>o</STRONG> SVr2 <EM>curses</EM> added <EM>newterm</EM>, which relies upon <EM>stdio.h</EM> because its
+ function prototype employs the <EM>FILE</EM> type.
- SVr4 curses added <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG>, which also use <stdio.h>.
+ SVr4 <EM>curses</EM> added <EM>putwin</EM> and <EM>getwin</EM>, which also use <EM>stdio.h</EM>.
- X/Open Curses documents all three of these functions.
+ X/Open Curses specifies all three of these functions.
- SVr4 curses and X/Open Curses do not require the developer to
- include <stdio.h> before including <curses.h>. Both document
- curses showing <curses.h> as the only required header.
+ SVr4 <EM>curses</EM> and X/Open Curses do not require the developer to
+ include <EM>stdio.h</EM> before <EM>curses.h</EM>. Both document use of <EM>curses</EM> as
+ requiring only <EM>curses.h</EM>.
- As a result, standard <curses.h> will always include <stdio.h>.
+ As a result, standard <EM>curses.h</EM> always includes <EM>stdio.h</EM>.
- <STRONG>o</STRONG> X/Open Curses is inconsistent with respect to SVr4 regarding
- <unctrl.h>.
+ <STRONG>o</STRONG> X/Open Curses and SVr4 <EM>curses</EM> are inconsistent with respect to
+ <EM>unctrl.h</EM>.
- As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <unctrl.h> from
- <curses.h> (like SVr4).
+ As noted in <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>, <EM>ncurses</EM> includes <EM>unctrl.h</EM> from <EM>curses.h</EM>
+ (as SVr4 does).
- <STRONG>o</STRONG> X/Open's comments about <term.h> and <termios.h> may refer to HP-UX
- and AIX:
+ <STRONG>o</STRONG> X/Open Curses's comments about <EM>term.h</EM> and <EM>termios.h</EM> may refer to
+ HP-UX and AIX.
- HP-UX curses includes <term.h> from <curses.h> to declare <STRONG>setupterm</STRONG>
- in curses.h, but <EM>ncurses</EM> (and Solaris curses) do not.
+ HP-UX <EM>curses</EM> includes <EM>term.h</EM> from <EM>curses.h</EM> to declare <EM>setupterm</EM> in
+ <EM>curses.h</EM>, but <EM>ncurses</EM> and Solaris <EM>curses</EM> do not.
- AIX curses includes <term.h> and <termios.h>. Again, <EM>ncurses</EM> (and
- Solaris curses) do not.
+ AIX <EM>curses</EM> includes <EM>term.h</EM> and termios.h<EM>.</EM> Again, <EM>ncurses</EM> and
+ Solaris <EM>curses</EM> do not.
- <STRONG>o</STRONG> X/Open says that <curses.h> <EM>may</EM> include <term.h>, but there is no
- requirement that it do that.
+ <STRONG>o</STRONG> X/Open Curses says that <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>term.h</EM>, but does not
+ require it to do so.
- Some programs use functions declared in both <curses.h> and
- <term.h>, and must include both headers in the same module. Very
- old versions of AIX curses required including <curses.h> before
- including <term.h>.
+ Some programs use functions declared in both <EM>curses.h</EM> and <EM>term.h</EM>,
+ and must include both header files in the same module. Very old
+ versions of AIX <EM>curses</EM> required inclusion of <EM>curses.h</EM> before
+ <EM>term.h</EM>.
- Because <EM>ncurses</EM> header files include the headers needed to define
- datatypes used in the headers, <EM>ncurses</EM> header files can be included
- in any order. But for portability, you should include <curses.h>
- before <term.h>.
+ The header files supplied by <EM>ncurses</EM> include the standard library
+ headers required for its declarations, so <EM>ncurses</EM>'s own header
+ files can be included in any order. But for portability, you
+ should include <EM>curses.h</EM> before <EM>term.h</EM>.
- <STRONG>o</STRONG> X/Open Curses says <EM>"may</EM> <EM>make</EM> <EM>visible"</EM> because including a header
- file does not necessarily make all symbols in it visible (there are
- ifdef's to consider).
+ <STRONG>o</STRONG> X/Open Curses says "may make visible" because including a header
+ file does not necessarily make visible all of the symbols in it
+ (consider <STRONG>#ifdef</STRONG> and similar).
- For instance, in <EM>ncurses</EM> <wchar.h> <EM>may</EM> be included if the proper
- symbol is defined, and if <EM>ncurses</EM> is configured for wide-character
- support. If the header is included, its symbols may be made
- visible. That depends on the value used for <STRONG>_XOPEN_SOURCE</STRONG> feature
- test macro.
+ For instance, <EM>ncurses</EM>'s <EM>curses.h</EM> <STRONG>may</STRONG> include <EM>wchar.h</EM> if the proper
+ symbol is defined, and if <EM>ncurses</EM> is configured for wide-character
+ support. If <EM>wchar.h</EM> is included, its symbols <STRONG>may</STRONG> be made visible
+ depending on the value of the <STRONG>_XOPEN_SOURCE</STRONG> feature test macro.
- <STRONG>o</STRONG> X/Open Curses documents one required header, in a special case:
- <stdarg.h> before <curses.h> to prototype the <STRONG>vw_printw</STRONG> and
- <STRONG>vw_scanw</STRONG> functions (as well as the obsolete the <STRONG>vwprintw</STRONG> and
- <STRONG>vwscanw</STRONG> functions). Each of those uses a <STRONG>va_list</STRONG> parameter.
+ <STRONG>o</STRONG> X/Open Curses mandates an application's inclusion of one standard C
+ library header in a special case: <EM>stdarg.h</EM> before <EM>curses.h</EM> to
+ prototype the functions <EM>vw</EM><STRONG>_</STRONG><EM>printw</EM> and <EM>vw</EM><STRONG>_</STRONG><EM>scanw</EM> (as well as the
+ obsolete <EM>vwprintw</EM> and <EM>vwscanw</EM>). Each of these takes a variadic
+ argument list, a <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter, like that of <STRONG>printf(3)</STRONG>.
- The two obsolete functions were introduced in SVr3. The other
- functions were introduced in X/Open Curses. In between, SVr4
- curses provided for the possibility that an application might
- include either <varargs.h> or <stdarg.h>. Initially, that was done
- by using <STRONG>void*</STRONG> for the <STRONG>va_list</STRONG> parameter. Later, a special type
- (defined in <stdio.h>) was introduced, to allow for compiler type-
- checking. That special type is always available, because <stdio.h>
- is always included by <curses.h>.
+ SVr3 <EM>curses</EM> introduced the two obsolete functions, and X/Open
+ Curses the others. In between, SVr4 <EM>curses</EM> provided for the
+ possibility that an application might include either <EM>varargs.h</EM> or
+ <EM>stdarg.h</EM>. These represented contrasting approaches to handling
+ variadic argument lists. The older interface, <EM>varargs.h</EM>, used a
+ pointer to <EM>char</EM> for variadic functions' <EM>va</EM><STRONG>_</STRONG><EM>list</EM> parameter. Later,
+ the list acquired its own standard data type, <EM>va</EM><STRONG>_</STRONG><EM>list</EM>, defined in
+ <EM>stdarg.h</EM>, empowering the compiler to check the types of a function
+ call's actual parameters against the formal ones declared in its
+ prototype.
- None of the X/Open Curses implementations require an application to
- include <stdarg.h> before <curses.h> because they either have
- allowed for a special type, or (like <EM>ncurses</EM>) include <stdarg.h>
- directly to provide a portable interface.
+ No conforming implementations of X/Open Curses require an
+ application to include <EM>stdarg.h</EM> before <EM>curses.h</EM> because they either
+ have allowed for a special type, or, like <EM>ncurses</EM>, they include
+ <EM>stdarg.h</EM> themselves to provide a portable interface.
</PRE><H2><a name="h2-AUTHORS">AUTHORS</a></H2><PRE>
-ncurses 6.4 2024-04-13 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
+ncurses 6.5 2024-04-27 <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<!--
****************************************************************************
- * Copyright 2020-2021,2023 Thomas E. Dickey *
+ * Copyright 2020-2023,2024 Thomas E. Dickey *
* Copyright 2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: MKncu_config.in,v 1.22 2023/12/23 23:44:26 tom Exp @
+ * @Id: MKncu_config.in,v 1.24 2024/04/20 21:13:38 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>ncursesw6-config 1 2023-12-23 ncurses 6.4 User commands</TITLE>
+<TITLE>ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">ncursesw6-config 1 2023-12-23 ncurses 6.4 User commands</H1>
+<H1 class="no-header">ncursesw6-config 1 2024-04-20 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
-ncurses 6.4 2023-12-23 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="ncursesw6-config.1.html">ncursesw6-config(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>new_pair 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>new_pair 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">new_pair 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">new_pair 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG> Library calls <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="new_pair.3x.html">new_pair(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>panel 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>panel 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">panel 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">panel 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG> Library calls <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="panel.3x.html">panel(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>resizeterm 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>resizeterm 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">resizeterm 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">resizeterm 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG> Library calls <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="resizeterm.3x.html">resizeterm(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>scr_dump 5 2024-03-23 ncurses 6.4 File formats</TITLE>
+<TITLE>scr_dump 5 2024-03-23 ncurses 6.5 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">scr_dump 5 2024-03-23 ncurses 6.4 File formats</H1>
+<H1 class="no-header">scr_dump 5 2024-03-23 ncurses 6.5 File formats</H1>
<PRE>
<STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> File formats <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
-ncurses 6.4 2024-03-23 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
+ncurses 6.5 2024-03-23 <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tabs.1,v 1.57 2024/03/16 15:35:01 tom Exp @
+ * @Id: tabs.1,v 1.59 2024/04/20 19:08:15 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tabs 1 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tabs 1 2024-04-20 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tabs 1 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tabs 1 2024-04-20 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG> User commands <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
A <STRONG>tabs</STRONG> utility appeared in PWB/Unix 1.0 (1977). A reduced version
shipped in Seventh Edition Unix (early 1979) and in 3BSD (later the
same year); it supported a "-n" option to set the first tab stop at the
- left margin. That option is not documented by POSIX.
+ left margin. That option is not specified by POSIX.
The PWB/Unix <STRONG>tabs</STRONG> utility returned in System III (1980), and used
- built-in tables, rather than the terminal database, to support a half-
- dozen hardcopy terminal (printer) types. It also had built-in logic to
- support setting the left margin, as well as a feature for copying the
- tab settings from a file.
+ built-in tables to support a half-dozen hardcopy terminal (printer)
+ types. It also had logic to support setting the left margin, as well
+ as a feature for copying the tab settings from a file.
- Versions of the program in later releases of AT&T Unix, such as SVr4,
- added support for the terminal database, but retained the tables to
+ Versions of the program in later releases of AT&T Unix, such as SVr4,
+ added support for the terminal database, but retained the tables to
support the printers. By this time, System V <STRONG>tput</STRONG> had incorporated the
- tab stop initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed
+ tab stop initialization feature of BSD's <STRONG>tset</STRONG> from 1982, but employed
the <EM>terminfo</EM> database to do so.
- The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications Issue 5
- (Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express
- motivation, though an introductory comment "and optionally adjusts the
- margin" remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
- documented in Issues 6 and later has no mechanism for setting margins.
- The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
+ The <STRONG>+m</STRONG> option was documented in the POSIX Base Specifications Issue 5
+ (Unix98, 1997), then omitted in Issue 6 (Unix03, 2004) without express
+ motivation, though an introductory comment "and optionally adjusts the
+ margin" remains, overlooked in the removal. The <STRONG>tabs</STRONG> utility
+ documented in Issues 6 and later has no mechanism for setting margins.
+ The <STRONG>+m</STRONG> option in <EM>ncurses</EM> <STRONG>tabs</STRONG> differs from the SVr4 feature by using
terminal capabilities rather than built-in tables.
- POSIX documents no limit on the number of tab stops. Other
+ POSIX documents no limit on the number of tab stops. Other
implementations impose one; the limit is 20 in PWB/Unix's <STRONG>tabs</STRONG> utility.
- While some terminals may not accept an arbitrary number of tab stops,
- <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
+ While some terminals may not accept an arbitrary number of tab stops,
+ <EM>ncurses</EM> <STRONG>tabs</STRONG> attempts to set tab stops up to the right margin if the
list thereof is sufficiently long.
- The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
- the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
+ The "Rationale" section of the Issue 6 <STRONG>tabs</STRONG> reference page details how
+ the committee considered redesigning the <STRONG>tabs</STRONG> and <STRONG>tput</STRONG> utilities,
without settling on an improved solution. It claims that
- "no known historical version of <EM>tabs</EM> supports the capability of
+ "no known historical version of <EM>tabs</EM> supports the capability of
setting arbitrary tab stops."
- The feature described in subsection "Explicit Lists" above was
- implemented in PWB/Unix, and permitted the setting of abitrary tab
+ The feature described in subsection "Explicit Lists" above was
+ implemented in PWB/Unix, and permitted the setting of abitrary tab
stops nevertheless.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="tabs.1.html">tabs(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: term.5,v 1.75 2024/03/16 15:35:01 tom Exp @
+ * @Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term 5 2024-03-16 ncurses 6.4 File formats</TITLE>
+<TITLE>term 5 2024-04-20 ncurses 6.5 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 5 2024-03-16 ncurses 6.4 File formats</H1>
+<H1 class="no-header">term 5 2024-04-20 ncurses 6.5 File formats</H1>
<PRE>
<STRONG><A HREF="term.5.html">term(5)</A></STRONG> File formats <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
versions. The problem is that there are at least three versions of
terminfo (under HP-UX, AIX, and OSF/1) which diverged from System V
terminfo after SVr1, and have added extension capabilities to the
- string table that (in the binary format) collide with System V and XSI
- Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of terminfo
- source compatibility issues.
+ string table that (in the binary format) collide with System V and
+ X/Open Curses extensions. See <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> for detailed discussion of
+ terminfo source compatibility issues.
This implementation is by default compatible with the binary terminfo
format used by Solaris curses, except in a few less-used details where
-ncurses 6.4 2024-03-16 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="term.5.html">term(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term 7 2024-03-16 ncurses 6.4 Miscellaneous</TITLE>
+<TITLE>term 7 2024-03-16 ncurses 6.5 Miscellaneous</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term 7 2024-03-16 ncurses 6.4 Miscellaneous</H1>
+<H1 class="no-header">term 7 2024-03-16 ncurses 6.5 Miscellaneous</H1>
<PRE>
<STRONG><A HREF="term.7.html">term(7)</A></STRONG> Miscellaneous <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="term.7.html">term(7)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>term_variables 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>term_variables 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">term_variables 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">term_variables 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG> Library calls <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="term_variables.3x.html">term_variables(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: terminfo.head,v 1.63 2024/01/13 23:07:27 tom Exp @
+ * @Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>terminfo 5 2024-01-13 ncurses 6.4 File formats</TITLE>
+<TITLE>terminfo 5 2024-04-20 ncurses 6.5 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">terminfo 5 2024-01-13 ncurses 6.4 File formats</H1>
+<H1 class="no-header">terminfo 5 2024-04-20 ncurses 6.5 File formats</H1>
<PRE>
<STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG> File formats <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
have, by specifying how to perform screen operations, and by specifying
padding requirements and initialization sequences.
- This manual describes <EM>ncurses</EM> version 6.4 (patch 20240413).
+ This document describes <EM>ncurses</EM> version 6.5 (patch 20240427).
</PRE><H3><a name="h3-terminfo-Entry-Syntax"><EM>terminfo</EM> Entry Syntax</a></H3><PRE>
codes exceed this limit regardless.)
<STRONG>o</STRONG> The TC (<EM>termcap</EM>) code is that used by the corresponding API of
- <EM>ncurses.</EM> (Some capabilities are new, and have names that BSD <EM>term-</EM>
- <EM>cap</EM> did not originate.)
+ <EM>ncurses</EM>. (Some capabilities are new, and have names that BSD
+ <EM>termcap</EM> did not originate.)
<STRONG>o</STRONG> The description field attempts to convey the capability's
semantics.
<STRONG>clear_margins</STRONG> <STRONG>mgc</STRONG> <STRONG>MC</STRONG> clear right and left soft
margins
<STRONG>set_left_margin</STRONG> <STRONG>smgl</STRONG> <STRONG>ML</STRONG> set left soft margin at
- current column. (ML is not in
- BSD termcap).
+ current column (not in BSD
+ <EM>termcap</EM>)
<STRONG>set_right_margin</STRONG> <STRONG>smgr</STRONG> <STRONG>MR</STRONG> set right soft margin at
current column
<STRONG>label_format</STRONG> <STRONG>fln</STRONG> <STRONG>Lf</STRONG> label format
screen, write something to the bottom line, move the cursor to the top
of the region, and do <STRONG>ri</STRONG> followed by <STRONG>dl1</STRONG> or <STRONG>ind</STRONG>. If the data scrolled
off the bottom of the region by the <STRONG>ri</STRONG> re-appears, then scrolling is
- non-destructive. System V and XSI Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
+ non-destructive. System V and X/Open Curses expect that <STRONG>ind</STRONG>, <STRONG>ri</STRONG>, <STRONG>indn</STRONG>,
and <STRONG>rin</STRONG> will simulate destructive scrolling; their documentation
cautions you not to define <STRONG>csr</STRONG> unless this is true. This <STRONG>curses</STRONG>
implementation is more liberal and will do explicit erases after
</PRE><H3><a name="h3-Insert_Delete-Character">Insert/Delete Character</a></H3><PRE>
There are two basic kinds of intelligent terminals with respect to
- insert/delete character which can be described using <EM>terminfo.</EM> The
+ insert/delete character which can be described using <EM>terminfo</EM>. The
most common insert/delete character operations affect only the
characters on the current line and shift characters off the end of the
line rigidly. Other terminals, such as the Concept 100 and the Perkin
works.
Finally, you can specify <STRONG>dch1</STRONG> to delete a single character, <STRONG>dch</STRONG> with
- one parameter, <EM>n</EM>, to delete <EM>n</EM> <EM>characters,</EM> and delete mode by giving
- <STRONG>smdc</STRONG> and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal
- needs to be placed in for <STRONG>dch1</STRONG> to work).
+ one parameter, <EM>n</EM>, to delete <EM>n</EM>characters, and delete mode by giving <STRONG>smdc</STRONG>
+ and <STRONG>rmdc</STRONG> to enter and exit delete mode (any mode the terminal needs to
+ be placed in for <STRONG>dch1</STRONG> to work).
A command to erase <EM>n</EM> characters (equivalent to outputting <EM>n</EM> blanks
without moving the cursor) can be given as <STRONG>ech</STRONG> with one parameter.
the <STRONG>Insert/Delete</STRONG> <STRONG>Character</STRONG> subsection above.
The parameter substitutions for <STRONG>set_clock</STRONG> and <STRONG>display_clock</STRONG> are not
- documented in SVr4 or the XSI Curses standard. They are deduced from
- the documentation for the AT&T 505 terminal.
+ documented in SVr4 or X/Open Curses. They are deduced from the
+ documentation for the AT&T 505 terminal.
Be careful assigning the <STRONG>kmous</STRONG> capability. The <EM>ncurses</EM> library wants
to interpret it as <STRONG>KEY_MOUSE</STRONG>, for use by terminals and emulators like
specified, even if it is zero.
Different commercial ports of <EM>terminfo</EM> and <EM>curses</EM> support different
- subsets of XSI Curses and (in some cases) different extensions. Here
- is a summary, accurate as of October 1995, after which the commercial
- Unix market contracted and lost diversity.
+ subsets of X/Open Curses and (in some cases) different extensions.
+ Here is a summary, accurate as of October 1995, after which the
+ commercial Unix market contracted and lost diversity.
<STRONG>o</STRONG> SVr4, Solaris, and <EM>ncurses</EM> support all SVr4 capabilities.
between commercial Unix systems. At least two implementations of
<EM>terminfo</EM> (those of HP-UX and AIX) diverged from those of other System V
Unices after SVr1, adding extension capabilities to the string table
- that (in the binary format) collide with subsequent System V and XSI
+ that (in the binary format) collide with subsequent System V and X/Open
Curses extensions.
-ncurses 6.4 2024-01-13 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tic.1m,v 1.108 2024/03/16 15:35:01 tom Exp @
+ * @Id: tic.1m,v 1.110 2024/04/27 17:57:06 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tic 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tic 1m 2024-04-27 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tic 1m 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tic 1m 2024-04-27 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG> User commands <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
translating from terminfo to termcap, untranslatable
capabilities are commented-out.
- <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing the source
- file. Normally, it infers data which is commonly missing in older
- terminfo data, or in termcaps.
+ <STRONG>-U</STRONG> tells <STRONG>tic</STRONG> to not post-process the data after parsing the source
+ file. Normally, it infers data which is commonly missing in
+ older terminfo data, or in termcaps.
- <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program, and
- exits.
+ <STRONG>-V</STRONG> reports the version of <EM>ncurses</EM> which was used in this program,
+ and exits.
- <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error trace
- information showing <STRONG>tic</STRONG>'s progress.
+ <STRONG>-v</STRONG><EM>n</EM> specifies that (verbose) output be written to standard error
+ trace information showing <STRONG>tic</STRONG>'s progress.
- The optional parameter <EM>n</EM> is a number from 1 to 9, inclusive,
- indicating the desired level of detail of information.
+ The optional parameter <EM>n</EM> is a number from 1 to 9, inclusive,
+ indicating the desired level of detail of information.
- <STRONG>o</STRONG> If <EM>ncurses</EM> is built without tracing support, the optional
- parameter is ignored.
+ <STRONG>o</STRONG> If <EM>ncurses</EM> is built without tracing support, the optional
+ parameter is ignored.
- <STRONG>o</STRONG> If <EM>n</EM> is omitted, the default level is 1.
+ <STRONG>o</STRONG> If <EM>n</EM> is omitted, the default level is 1.
- <STRONG>o</STRONG> If <EM>n</EM> is specified and greater than 1, the level of detail is
- increased, and the output is written (with tracing
- information) to the "trace" file.
+ <STRONG>o</STRONG> If <EM>n</EM> is specified and greater than 1, the level of detail is
+ increased, and the output is written (with tracing
+ information) to the "trace" file.
- The debug flag levels are as follows:
+ The debug flag levels are as follows:
- 1 Names of files created and linked
+ 1 Names of files created and linked
- 2 Information related to the "use" facility
+ 2 Information related to the "use" facility
- 3 Statistics from the hashing algorithm
+ 3 Statistics from the hashing algorithm
- 4 Details of extended capabilities
+ 4 Details of extended capabilities
- 5 (unused)
+ 5 (unused)
- 6 (unused)
+ 6 (unused)
- 7 Entries into the string-table
+ 7 Entries into the string-table
- 8 List of tokens encountered by scanner
+ 8 List of tokens encountered by scanner
- 9 All values computed in construction of the hash table
+ 9 All values computed in construction of the hash table
- <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
- wrapped. Use the <STRONG>-W</STRONG> option to do this.
+ <STRONG>-W</STRONG> By itself, the <STRONG>-w</STRONG> option will not force long strings to be
+ wrapped. Use the <STRONG>-W</STRONG> option to do this.
- If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored when
- <STRONG>-f</STRONG> has already split the line.
+ If you specify both <STRONG>-f</STRONG> and <STRONG>-W</STRONG> options, the latter is ignored
+ when <STRONG>-f</STRONG> has already split the line.
- <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is optional. If
- it is omitted, it defaults to 60.
+ <STRONG>-w</STRONG><EM>n</EM> specifies the width of the output. The parameter is optional.
+ If it is omitted, it defaults to 60.
- <STRONG>-x</STRONG> Treat unknown capabilities as user-defined (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
- That is, if you supply a capability name which <STRONG>tic</STRONG> does not
- recognize, it will infer its type (Boolean, number or string) from
- the syntax and make an extended table entry for that. User-
- defined capability strings whose name begins with "k" are treated
- as function keys.
+ <STRONG>-x</STRONG> Treat unknown capabilities as user-defined (see <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>).
+ That is, if you supply a capability name which <STRONG>tic</STRONG> does not
+ recognize, it will infer its type (Boolean, number or string)
+ from the syntax and make an extended table entry for that.
+ User-defined capability strings whose name begins with "k" are
+ treated as function keys.
</PRE><H3><a name="h3-Parameters">Parameters</a></H3><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
+ncurses 6.5 2024-04-27 <STRONG><A HREF="tic.1m.html">tic(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: toe.1m,v 1.66 2024/03/16 15:35:01 tom Exp @
+ * @Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>toe 1m 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>toe 1m 2024-04-20 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">toe 1m 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">toe 1m 2024-04-20 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG> User commands <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
<EM>terminfo</EM> would search, instead of only the first that it
finds.
- If the <STRONG>-s</STRONG> option is also given, <STRONG>toe</STRONG> adds a column to the
- report, showing (like <STRONG>conflict(1)</STRONG>) which entries belong to a
- given terminal database. An "*" marks entries that differ,
- and "+" marks equivalent entries.
+ If <STRONG>-s</STRONG> is also given, <STRONG>toe</STRONG> additionally reports, like
+ <STRONG>conflict(1)</STRONG>, which entries correspond to a given terminal
+ database. An "*" marks entries that differ, and "+" marks
+ equivalent entries.
Without the <STRONG>-s</STRONG> option, <STRONG>toe</STRONG> does not attempt to merge
duplicates in its report.
-ncurses 6.4 2024-03-16 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="toe.1m.html">toe(1m)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tput.1,v 1.111 2024/04/13 22:09:53 tom Exp @
+ * @Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tput 1 2024-04-13 ncurses 6.4 User commands</TITLE>
+<TITLE>tput 1 2024-04-20 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tput 1 2024-04-13 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tput 1 2024-04-20 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="tput.1.html">tput(1)</A></STRONG> User commands <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
<EM>cap-code</EM> indicates a capability from the terminal database.
- If the capability is of string type and takes parameters,
- the arguments following the capability will be used as its
- parameters.
+ If <EM>cap-code</EM> is of string type and takes parameters, <STRONG>tput</STRONG>
+ interprets arguments following <EM>cap-code</EM> as the parameters,
+ up to the (fixed) quantity the capability requires.
Most parameters are numeric. Only a few terminal
capabilities require string parameters; <STRONG>tput</STRONG> uses a table to
-ncurses 6.4 2024-04-13 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
+ncurses 6.5 2024-04-20 <STRONG><A HREF="tput.1.html">tput(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
* sale, use or other dealings in this Software without prior written *
* authorization. *
****************************************************************************
- * @Id: tset.1,v 1.81 2024/03/16 15:35:01 tom Exp @
+ * @Id: tset.1,v 1.85 2024/04/27 17:57:47 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>tset 1 2024-03-16 ncurses 6.4 User commands</TITLE>
+<TITLE>tset 1 2024-04-27 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">tset 1 2024-03-16 ncurses 6.4 User commands</H1>
+<H1 class="no-header">tset 1 2024-04-27 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="tset.1.html">tset(1)</A></STRONG> User commands <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
to set the window size if <STRONG>tset</STRONG> is not able to obtain the window
size from the operating system.
- <STRONG>o</STRONG> In <EM>ncurses</EM>, <STRONG>tset</STRONG> obtains the window size using <STRONG>setupterm</STRONG>, which may
- be from the operating system, the <EM>LINES</EM> and <EM>COLUMNS</EM> environment
+ <STRONG>o</STRONG> In <EM>ncurses</EM>, <STRONG>tset</STRONG> obtains the window size using <STRONG><A HREF="curs_terminfo.3x.html">setupterm(3x)</A></STRONG>, which
+ may be from the operating system, the <EM>LINES</EM> and <EM>COLUMNS</EM> environment
variables or the terminal description.
- Obtaining the window size from the terminal description is common to
- both implementations, but considered obsolescent. Its only practical
- use is for hardware terminals. Generally speaking, a window size would
- be unset only if there were some problem obtaining the value from the
- operating system (and <STRONG>setupterm</STRONG> would still fail). For that reason,
- the <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables may be useful for working
- around window-size problems. Those have the drawback that if the
- window is resized, those variables must be recomputed and reassigned.
- To do this more easily, use the <STRONG>resize(1)</STRONG> program.
+ Obtaining the window size from a terminal's type description is common
+ to both implementations, but considered obsolescent. Its only
+ practical use is for hardware terminals. Generally, the window size
+ will remain uninitialized only if there were a problem obtaining the
+ value from the operating system (and <STRONG>setupterm</STRONG> would still fail). The
+ <EM>LINES</EM> and <EM>COLUMNS</EM> environment variables may thus be useful for working
+ around window-size problems, but have the drawback that if the window
+ is resized, their values must be recomputed and reassigned. The
+ <STRONG>resize(1)</STRONG> program distributed with <STRONG>xterm(1)</STRONG> assists this activity.
</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
+ncurses 6.5 2024-04-27 <STRONG><A HREF="tset.1.html">tset(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>user_caps 5 2024-03-16 ncurses 6.4 File formats</TITLE>
+<TITLE>user_caps 5 2024-03-16 ncurses 6.5 File formats</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">user_caps 5 2024-03-16 ncurses 6.4 File formats</H1>
+<H1 class="no-header">user_caps 5 2024-03-16 ncurses 6.5 File formats</H1>
<PRE>
<STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG> File formats <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="user_caps.5.html">user_caps(5)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>wresize 3x 2024-03-16 ncurses 6.4 Library calls</TITLE>
+<TITLE>wresize 3x 2024-03-16 ncurses 6.5 Library calls</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
-<H1 class="no-header">wresize 3x 2024-03-16 ncurses 6.4 Library calls</H1>
+<H1 class="no-header">wresize 3x 2024-03-16 ncurses 6.5 Library calls</H1>
<PRE>
<STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG> Library calls <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
-ncurses 6.4 2024-03-16 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
+ncurses 6.5 2024-03-16 <STRONG><A HREF="wresize.3x.html">wresize(3x)</A></STRONG>
</PRE>
<div class="nav">
<ul>
# Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995
# and: Eric S. Raymond <esr@snark.thyrsus.com>
#
-# $Id: Caps,v 1.55 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps,v 1.56 2024/04/20 21:05:02 tom Exp $
#
# This is the master termcap/terminfo capability table.
#
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
#
# Author: Thomas Dickey
#
-# $Id: Caps.aix4,v 1.27 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.aix4,v 1.28 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with AIX 4.x's terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
req_for_input rfi str RF - - ----- send next input char (for ptys)
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
#
# Author: Thomas Dickey
#
-# $Id: Caps.hpux11,v 1.25 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.hpux11,v 1.26 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with HPUX 11.x's terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
req_for_input rfi str RF - - ----- send next input char (for ptys)
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
# Author: Thomas Dickey
# and: Ilya Zakharevich
#
-# $Id: Caps.keys,v 1.24 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.keys,v 1.25 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is illustrates an experimental extension to describe alt-, shift- and
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
label_format fln str Lf - - ----- label format
set_clock sclk str SC - - ----- set clock, #1 hrs #2 mins #3 secs
#
# Author: Thomas Dickey
#
-# $Id: Caps.osf1r5,v 1.23 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.osf1r5,v 1.24 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with OSF/1 version 5 (Tru64) terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
set_color_band setcolor str Yz - - ----- Change to ribbon color #1
set_color_pair scp str sp - - ----- Set current color pair to #1
set_foreground setf str Sf - - ----- Set foreground color #1
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_left_margin_parm smglp str Zm - - ----- Set left (right) margin at column #1
set_lr_margin smglr str ML - - ----- Set both left and right margins to #1, #2. (ML is not in BSD termcap).
set_page_length slines str YZ - - ----- Set page length to #1 lines
#
# Author: Thomas Dickey
#
-# $Id: Caps.uwin,v 1.22 2024/03/16 15:26:09 Branden.Robinson Exp $
+# $Id: Caps.uwin,v 1.23 2024/04/20 21:05:02 tom Exp $
#
# This is an adaptation of ncurses' termcap/terminfo capability table, which
# is designed to align with U/Win's terminfo.
#%(Some standard codes exceed this limit regardless.)
#%.bP
#%The TC
-#%.RI ( \%term\%cap )
+#%.RI ( termcap )
#%code is that used by the corresponding API of
-#%.I \%ncurses.
+#%.IR \%ncurses .
#%(Some capabilities are new,
#%and have names that BSD
-#%.I \%term\%cap
+#%.I termcap
#%did not originate.)
#%.bP
#%The description field attempts to convey the capability's semantics.
key_f63 kf63 str Fr KEY_F(63) - ----E F63 function key
clr_bol el1 str cb - - ----- Clear to beginning of line
clear_margins mgc str MC - - ----- clear right and left soft margins
-set_left_margin smgl str ML - - ----- set left soft margin at current column. (ML is not in BSD termcap).
+set_left_margin smgl str ML - - ----- set left soft margin at current column (not in BSD \fItermcap\fP)
set_right_margin smgr str MR - - ----- set right soft margin at current column
device_type devt str dv - - ----- Indicate language/codeset support
code_set_init csin str ci - - ----- Init sequence for multiple codesets
/****************************************************************************
- * Copyright 2018-2020,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2008-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Author: Thomas Dickey, 2008-on *
****************************************************************************/
-/* $Id: nc_mingw.h,v 1.10 2023/02/25 19:59:24 tom Exp $ */
+/* $Id: nc_mingw.h,v 1.12 2024/05/04 19:16:38 tom Exp $ */
#ifndef NC_MINGW_H
#define NC_MINGW_H 1
#include <winsock2.h> /* for struct timeval */
#endif
+#include <stdint.h> /* for uint32_t */
+
#ifdef __cplusplus
extern "C" {
#endif
#undef wcwidth
#define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
-NCURSES_EXPORT(int) _nc_wcwidth(wchar_t);
+NCURSES_EXPORT(int) _nc_wcwidth(uint32_t);
#ifdef __cplusplus
}
/****************************************************************************
- * Copyright 2018-2020,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 2008-2010,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
* Author: Thomas Dickey, 2008-on *
****************************************************************************/
-/* $Id: nc_win32.h,v 1.10 2023/02/25 20:09:23 tom Exp $ */
+/* $Id: nc_win32.h,v 1.12 2024/05/04 19:17:03 tom Exp $ */
#ifndef NC_WIN32_H
#define NC_WIN32_H 1
#include <winsock2.h> /* for struct timeval */
#endif
+#include <stdint.h> /* for uint32_t */
+
#ifdef __cplusplus
extern "C" {
#endif
#undef wcwidth
#define wcwidth(ucs) _nc_wcwidth((wchar_t)(ucs))
-extern NCURSES_EXPORT(int) _nc_wcwidth(wchar_t);
+extern NCURSES_EXPORT(int) _nc_wcwidth(uint32_t);
#ifdef EVENTLIST_2nd /* test.priv.h just needs the preceding */
+++ /dev/null
-From d95c6f1429c30562ca4604482b1379776d594490 Mon Sep 17 00:00:00 2001
-From: "Thomas E. Dickey" <dickey@invisible-island.net>
-Date: Sat, 31 Dec 2022 23:49:40 +0000
-Subject: [PATCH] ncurses 6.4
-
----
- ncurses/tinfo/MKkeys_list.sh | 0
- progs/MKtermsort.sh | 0
- test/savescreen.sh | 0
- test/tput-colorcube | 0
- test/tput-initc | 0
- 5 files changed, 0 insertions(+), 0 deletions(-)
- mode change 100644 => 100755 ncurses/tinfo/MKkeys_list.sh
- mode change 100644 => 100755 progs/MKtermsort.sh
- mode change 100644 => 100755 test/savescreen.sh
- mode change 100644 => 100755 test/tput-colorcube
- mode change 100644 => 100755 test/tput-initc
-
-diff --git a/ncurses/tinfo/MKkeys_list.sh b/ncurses/tinfo/MKkeys_list.sh
-old mode 100644
-new mode 100755
-diff --git a/progs/MKtermsort.sh b/progs/MKtermsort.sh
-old mode 100644
-new mode 100755
-diff --git a/test/savescreen.sh b/test/savescreen.sh
-old mode 100644
-new mode 100755
-diff --git a/test/tput-colorcube b/test/tput-colorcube
-old mode 100644
-new mode 100755
-diff --git a/test/tput-initc b/test/tput-initc
-old mode 100644
-new mode 100755
---
-2.30.2
-
.\"***************************************************************************
-.\" Copyright 2019-2021,2023 Thomas E. Dickey *
+.\" Copyright 2019-2023,2024 Thomas E. Dickey *
.\" Copyright 2010-2014,2016 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKada_config.in,v 1.32 2023/12/16 21:42:53 tom Exp $
-.TH adacurses@USE_CFG_SUFFIX@\-config 1 2023-12-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: MKada_config.in,v 1.35 2024/04/20 21:13:27 tom Exp $
+.TH adacurses@USE_CFG_SUFFIX@\-config 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ds C adacurses@USE_CFG_SUFFIX@\-config
.ie \n(.g \{\
.ds `` \(lq
.ie t .ds ' \(aq
.el .ds ' '
.\}
+.
+.\" Fix broken EX/EE macros on DWB troff.
+.\" Detect it: only DWB sets up a `)Y` register.
+.if !\n(.g .if \n()Y \{\
+.\" Revert the undesired changes to indentation.
+.am EX
+.in -5n
+..
+.am EE
+.in +5n
+..
+.\}
+.
.SH NAME
\fB\%adacurses@USE_CFG_SUFFIX@\-config\fP \-
configuration helper for \fI@ADA_LIBNAME@\fP libraries
user to press the \*(``q\*('' key before exiting.
Populate a file \fIhello.adb\fP with the following.
.PP
-.RS 4
+.if \n(LL>67n .RS 4
.EX
with Terminal_Interface.Curses; use Terminal_Interface.Curses;
End_Windows;
end Hello;
.EE
-.RE
+.if \n(LL>67n .RE
.ne 2
.PP
Then, using
.\"***************************************************************************
-.\" Copyright 2020-2021,2023 Thomas E. Dickey *
+.\" Copyright 2020-2023,2024 Thomas E. Dickey *
.\" Copyright 2010 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: MKncu_config.in,v 1.22 2023/12/23 23:44:26 tom Exp $
-.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2023-12-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: MKncu_config.in,v 1.24 2024/04/20 21:13:38 tom Exp $
+.TH @LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.SH NAME
\fB\%@LIB_NAME@@DFT_ARG_SUFFIX@@cf_cv_abi_version@-config\fP \-
configuration helper for \fI\%ncurses\fP libraries
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wch.3x,v 1.59 2024/04/13 22:11:52 tom Exp $
-.TH curs_add_wch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp $
+.TH curs_add_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
or if it is not possible to add all of the resulting bytes in the window,
an error is returned.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Note that
\fBadd_wch\fP,
\fBecho_wchar\fP
may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
The defaults specified for line-drawing characters apply in the POSIX locale.
.SS "WACS Symbols"
X/Open Curses makes it clear that the WACS_ symbols should be defined as
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_add_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp $
-.TH curs_add_wchstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_add_wchstr.3x,v 1.39 2024/04/20 21:20:07 tom Exp $
+.TH curs_add_wchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIwchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All functions except \fBwadd_wchnstr\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curs_addchstr\fP(3X) describes comparable functions of the
.I \%ncurses
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addch.3x,v 1.83 2024/04/13 22:23:35 tom Exp $
-.TH curs_addch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addch.3x,v 1.85 2024/04/20 19:03:47 tom Exp $
+.TH curs_addch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%mvwaddch\fP,
\fB\%echochar\fP,
\fB\%wechochar\fP \-
-add a \fIcurses\fR character to a window and advance the cursor
+add a \fIcurses\fP character to a window and advance the cursor
.SH SYNOPSIS
.nf
\fB#include <curses.h>
if \fB\%scrollok\fP(3X) is not enabled in that event,
because it is not possible to wrap to a new line.
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I \%WINDOW
-pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
.BR \%addch ,
.BR \%mvaddch ,
X/Open Curses,
Issue 4 describes these functions.
It specifies no error conditions for them.
+.PP
+SVr4
+.I curses
+describes a successful return value only as
+\*(``an integer value other than
+.BR ERR \*(''.
+.PP
The defaults specified for forms-drawing characters apply in the POSIX
locale.
.SS "ACS Symbols"
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addchstr.3x,v 1.42 2024/04/13 22:21:16 tom Exp $
-.TH curs_addchstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp $
+.TH curs_addchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIwchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All functions except \fBwaddchnstr\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curs_add_wchstr\fP(3X) describes comparable functions of the
.I \%ncurses
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addstr.3x,v 1.43 2024/04/13 22:14:06 tom Exp $
-.TH curs_addstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addstr.3x,v 1.45 2024/04/20 19:18:18 tom Exp $
+.TH curs_addstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if an internal \fB\%waddch\fP(3X) call returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I \%WINDOW
-pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All of these functions except \fBwaddnstr\fP may be macros.
.SH PORTABILITY
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_addwstr.3x,v 1.35 2024/04/13 22:14:06 tom Exp $
-.TH curs_addwstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_addwstr.3x,v 1.37 2024/04/20 19:18:18 tom Exp $
+.TH curs_addwstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if an internal \fB\%wadd_wch\fP(3X) call returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I \%WINDOW
-pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All of these functions except
.B waddnwstr
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_attr.3x,v 1.99 2024/03/16 15:38:33 tom Exp $
-.TH curs_attr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_attr.3x,v 1.105 2024/04/27 17:54:42 tom Exp $
+.TH curs_attr 3X 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
does not return an error if either of the parameters of \fBwattr_get\fP
used for retrieving attribute or color pair values is \fBNULL\fP.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.\" ---------------------------------------------------------------------------
.SH NOTES
These functions may be macros:
except to check that it is \fBNULL\fP.
.\" ---------------------------------------------------------------------------
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
The standard defined the dedicated type for highlights,
\fBattr_t\fP, which was not defined in SVr4 curses.
The functions taking \fBattr_t\fP arguments were not supported under SVr4.
when changing the attributes.
Use \fBtouchwin\fP to force the screen to match the updated attributes.
.PP
-The XSI Curses standard states that whether the traditional functions
+X/Open Curses states that whether the traditional functions
\fBattron\fP/\fBattroff\fP/\fBattrset\fP can manipulate attributes other than
\fBA_BLINK\fP, \fBA_BOLD\fP, \fBA_DIM\fP, \fBA_REVERSE\fP, \fBA_STANDOUT\fP, or
\fBA_UNDERLINE\fP is \*(``unspecified\*(''.
SVr4 curses, these functions correctly manipulate all other highlights
(specifically, \fBA_ALTCHARSET\fP, \fBA_PROTECT\fP, and \fBA_INVIS\fP).
.PP
-XSI Curses added these entry points:
+X/Open Curses added these entry points:
.sp
.RS
\fBattr_get\fP, \fBattr_on\fP,
.TE
.RE
.PP
-XSI curses does not assign values to these symbols,
+X/Open Curses does not assign values to these symbols,
nor does it state whether or not they are related to the
similarly-named A_NORMAL, etc.:
.bP
-The XSI curses standard specifies that each pair of corresponding \fBA_\fP
+X/Open Curses specifies that each pair of corresponding \fBA_\fP
and \fBWA_\fP-using functions operates on the same current-highlight
information.
.bP
This is consistent with SVr4 curses;
X/Open Curses does not specify this.
.PP
-The XSI standard extended conformance level adds new highlights
+The X/Open Curses extended conformance level adds new highlights
\fBA_HORIZONTAL\fP, \fBA_LEFT\fP, \fBA_LOW\fP, \fBA_RIGHT\fP, \fBA_TOP\fP,
\fBA_VERTICAL\fP (and corresponding \fBWA_\fP macros for each).
As of August 2013,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_beep.3x,v 1.27 2024/03/16 15:35:01 tom Exp $
-.TH curs_beep 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_beep.3x,v 1.29 2024/04/20 21:20:07 tom Exp $
+.TH curs_beep 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%beep\fP,
\fB\%flash\fP \-
SVr4's beep and flash routines always returned \fBOK\fP, so it was not
possible to tell when the beep or flash failed.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
Like SVr4, it specifies that they always return \fBOK\fP.
.SH SEE ALSO
\fB\%curses\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgd.3x,v 1.59 2024/03/23 19:58:58 tom Exp $
-.TH curs_bkgd 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_bkgd.3x,v 1.61 2024/04/20 18:54:36 tom Exp $
+.TH curs_bkgd 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
checks to ensure that,
and will reuse the old background character if the check fails.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies that
\fB\%bkgd\fP,
\fB\%wbkgd\fP,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_bkgrnd.3x,v 1.40 2024/03/23 19:59:45 tom Exp $
-.TH curs_bkgrnd 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_bkgrnd.3x,v 1.42 2024/04/20 18:54:36 tom Exp $
+.TH curs_bkgrnd 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
parameter,
not as the return value.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
X/Open Curses does not provide details of how the rendition is updated.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border.3x,v 1.46 2024/03/16 15:38:43 tom Exp $
-.TH curs_border 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_border.3x,v 1.49 2024/04/20 21:20:07 tom Exp $
+.TH curs_border 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
This implementation returns an error
if the window pointer is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
The borders generated by these functions are \fIinside\fP borders (this
is also true of SVr4 curses, though the fact is not documented).
.PP
Note that \fBborder\fP and \fBbox\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_outopts\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_border_set.3x,v 1.33 2024/03/16 15:35:01 tom Exp $
-.TH curs_border_set 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_border_set.3x,v 1.36 2024/04/20 21:20:07 tom Exp $
+.TH curs_border_set 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
Functions using a window parameter return an error if it is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Note that
\fBborder_set\fP,
\fBvline_set\fP
may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_add_wch\fP(3X),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_clear.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
-.TH curs_clear 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_clear.3x,v 1.48 2024/04/20 21:20:07 tom Exp $
+.TH curs_clear 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
Note that \fBerase\fP, \fBwerase\fP, \fBclear\fP, \fBwclear\fP,
\fBclrtobot\fP, and \fBclrtoeol\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.PP
The SVr4.0 manual says that these functions could return
\*(``or a non-negative integer if \fB\%immedok\fP is set\*('',
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_color.3x,v 1.98 2024/03/16 15:35:01 tom Exp $
-.TH curs_color 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_color.3x,v 1.100 2024/04/20 21:24:19 tom Exp $
+.TH curs_color 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.B \%NCURSES_VERSION
preprocessor macro.
.PP
-This implementation satisfies XSI Curses's minimum maximums
+This implementation satisfies X/Open Curses's minimum maximums
for \fB\%COLORS\fP and \fB\%COLOR_PAIRS\fP.
.PP
The \fB\%init_pair\fP routine accepts negative values of foreground
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_delch.3x,v 1.32 2024/03/16 15:35:01 tom Exp $
-.TH curs_delch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_delch.3x,v 1.34 2024/04/20 19:24:14 tom Exp $
+.TH curs_delch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%wdelch\fP,
\fB\%mvdelch\fP,
\fB\%mvwdelch\fP \-
-delete the character at the cursor in a \fIcurses\fR window
+delete a character from a \fIcurses\fR window
.SH SYNOPSIS
.nf
\fB#include <curses.h>
\fBint mvwdelch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.fi
.SH DESCRIPTION
-These routines delete the character under the cursor; all characters to the
-right of the cursor on the same line are moved to the left one position and the
-last character on the line is filled with a blank.
-The cursor position does
-not change (after moving to \fIy\fP, \fIx\fP, if specified).
-(This does not
-imply use of the hardware delete character feature.)
+.B \%wdelch
+deletes the character at the cursor position in
+.IR win .
+\fB\%ncurses\fP(3X) describes the variants of this function.
+.PP
+.B \%wdelch
+moves all characters to the right of the cursor on the same line to the
+left one position and replaces the contents of the rightmost position on
+the line with the window's blank character;
+see \fB\%bkgd\fP(3X)
+(wide-character API users may consult \fB\%bkgrnd\fP(3X) instead).
+The cursor position does not change
+(after moving to
+.RI ( y ,
+.IR x ),
+if specified).
.SH RETURN VALUE
-All routines return the integer \fBERR\fP upon failure and an \fBOK\fP
-(SVr4 specifies only
-\*(``an integer value other than \fBERR\fP\*('')
-upon successful completion.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
+.PP
+Functions taking a
+.I \%WINDOW
+pointer argument fail if the pointer is
+.BR NULL .
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
-Note that \fBdelch\fP, \fBmvdelch\fP, and \fBmvwdelch\fP may be macros.
+.BR \%delch ,
+.BR \%mvdelch ,
+and
+.B \%mvwdelch
+may be implemented as macros.
+.PP
+A terminal's
+.B \%delete_character
+.RB ( dch1 )
+capability
+is not necessarily employed.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
-The
-standard specifies that they return \fBERR\fP on failure, but specifies no
-error conditions.
+X/Open Curses,
+Issue 4 describes these functions.
+.PP
+SVr4
+.I curses
+describes a successful return value only as
+\*(``an integer value other than
+.BR ERR \*(''.
.SH SEE ALSO
\fB\%curses\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_deleteln.3x,v 1.36 2024/03/16 15:35:01 tom Exp $
-.TH curs_deleteln 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_deleteln.3x,v 1.38 2024/04/20 21:20:07 tom Exp $
+.TH curs_deleteln 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
In fact, they will not use hardware line delete/insert unless
\fBidlok(..., TRUE)\fP has been set on the current window.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
The
standard specifies that they return \fBERR\fP on failure, but specifies no
error conditions.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wch.3x,v 1.38 2024/04/13 22:14:06 tom Exp $
-.TH curs_get_wch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_get_wch.3x,v 1.40 2024/04/20 19:23:03 tom Exp $
+.TH curs_get_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBint mvget_wch(int \fIy\fP, int \fIx\fP, wint_t *\fIwch\fP);
\fBint mvwget_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, wint_t *\fIwch\fP);
.PP
-\fBint unget_wch(const wchar_t \fIwch\fP);
+\fBint unget_wch(const wchar_t \fIwc\fP);
.fi
.SH DESCRIPTION
.SS "Reading Characters"
is set to
.BR \%EINTR .
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I win
-parameter is a null pointer.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.PP
.B \%unget_wch
returns
.B \%NCURSES_VERSION
preprocessor macro.
.PP
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
See the \*(``PORTABILITY\*('' section of \fB\%wgetch\fP(3X) regarding
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_get_wstr.3x,v 1.46 2024/04/13 22:14:06 tom Exp $
-.TH curs_get_wstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_get_wstr.3x,v 1.48 2024/04/20 19:18:18 tom Exp $
+.TH curs_get_wstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBwget_wch\fP
failed.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Any of these functions other than
\fBwgetn_wstr\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getcchar.3x,v 1.47 2024/04/13 22:08:22 tom Exp $
-.TH curs_getcchar 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getcchar.3x,v 1.49 2024/04/20 18:55:09 tom Exp $
+.TH curs_getcchar 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
\fB#include <curses.h>
.PP
\fBint getcchar(
-.B " const cchar_t *\fIwcval\fP,"
-.B " wchar_t *\fIwch\fP,"
+.B " const cchar_t *\fIwch\fP,"
+.B " wchar_t *\fIwc\fP,"
.B " attr_t *\fIattrs\fP,"
.B " short *\fIcolor_pair\fP,"
.B " void *\fIopts\fP );"
.PP
.B "int setcchar("
-.B " cchar_t *\fIwcval\fP,"
-.B " const wchar_t *\fIwch\fP,"
+.B " cchar_t *\fIwch\fP,"
+.B " const wchar_t *\fIwc\fP,"
.B " const attr_t \fIattrs\fP,"
.B " short \fIcolor_pair\fP,"
.B " const void *\fIopts\fP );"
.SS getcchar
The \fBgetcchar\fP function gets a wide-character string
and rendition from a \fBcchar_t\fP argument.
-When \fIwch\fP is not a null pointer,
+When \fIwc\fP is not a null pointer,
the \fBgetcchar\fP function does the following:
.bP
-Extracts information from a \fBcchar_t\fP value \fIwcval\fP
+Extracts information from a \fBcchar_t\fP value \fIwch\fP
.bP
Stores the character attributes in the location pointed to by \fIattrs\fP
.bP
Stores the color pair in the location pointed to by \fIcolor_pair\fP
.bP
Stores the wide-character string,
-characters referenced by \fIwcval\fP, into the array pointed to by \fIwch\fP.
+characters referenced by \fIwch\fP, into the array pointed to by \fIwc\fP.
.PP
When
-\fIwch\fP
+\fIwc\fP
is a null pointer, the
\fBgetcchar\fP
function does the following:
.bP
-Obtains the number of wide characters pointed to by \fIwcval\fP
+Obtains the number of wide characters pointed to by \fIwch\fP
.bP
Does not change the data referenced by
\fIattrs\fP
or
\fIcolor_pair\fP
.SS setcchar
-The \fBsetcchar\fP function initializes the location pointed to by \fIwcval\fP
+The \fBsetcchar\fP function initializes the location pointed to by \fIwch\fP
by using:
.bP
The character attributes in
The color pair in
\fIcolor_pair\fP
.bP
-The wide-character string pointed to by \fIwch\fP.
+The wide-character string pointed to by \fIwc\fP.
The string must be L'\e0' terminated,
contain at most one spacing character,
which must be the first.
The string may contain a single control character instead.
In that case, no non-spacing characters are allowed.
.SH RETURN VALUE
-When \fIwch\fP is a null pointer,
+When \fIwc\fP is a null pointer,
\fBgetcchar\fP returns the number of wide characters referenced by
-\fIwcval\fP,
+\fIwch\fP,
including one for a trailing null.
.PP
-When \fIwch\fP is not a null pointer,
+When \fIwc\fP is not a null pointer,
\fBgetcchar\fP returns \fBOK\fP upon successful completion,
and \fBERR\fP otherwise.
.PP
Upon successful completion, \fBsetcchar\fP returns \fBOK\fP.
Otherwise, it returns \fBERR\fP.
.SH NOTES
-The \fIwcval\fP argument may be a value generated by a call to
+The \fIwch\fP argument may be a value generated by a call to
\fBsetcchar\fP or by a function that has a \fBcchar_t\fP output argument.
-If \fIwcval\fP is constructed by any other means, the effect is unspecified.
+If \fIwch\fP is constructed by any other means, the effect is unspecified.
.SH EXTENSIONS
X/Open Curses documents the \fIopts\fP argument as reserved for future use,
saying that it must be null.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getch.3x,v 1.85 2024/04/13 22:18:51 tom Exp $
-.TH curs_getch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getch.3x,v 1.87 2024/04/20 19:18:18 tom Exp $
+.TH curs_getch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.B int mvgetch(int \fIy\fP, int \fIx\fP);
.B int mvwgetch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.PP
-.B int ungetch(int \fIch\fP);
+.B int ungetch(int \fIc\fP);
.PP
.\" XXX: Move has_key into its own page like define_key and key_defined?
\fI/* extension */\fP
-.B int has_key(int \fIch\fP);
+.B int has_key(int \fIc\fP);
.fi
.SH DESCRIPTION
.SS "Reading Characters"
and the window is not a pad,
.I curses
writes the returned character
-.I ch
+.I c
to the window
(at the cursor position)
per the following rules.
.bP
If
-.I ch
+.I c
matches the terminal's erase character,
the cursor moves leftward one position
and the new position is erased
.bP
.I curses
writes any other
-.I ch
+.I c
to the window,
as with \fB\%wechochar\fP(3X).
.bP
.BR \%wrefresh .
.PP
If
-.I ch
+.I c
is a carriage return and \fBnl\fP(3X) has been called,
.B \%wgetch
-returns the character code for newline
-(line feed)
-instead.
+returns the character code for line feed instead.
.SS "Keypad Mode"
To
.IR curses ,
In
.IR \%ncurses ,
.I "user-defined function keys"
-are configured with \fBdefine_key\fP(3X);
+are configured with \fB\%define_key\fP(3X);
they have no names,
but are also expected to have values outside the range of eight-bit
codes.
.SS "Ungetting Characters"
.B \%ungetch
places
-.I ch
+.I c
into the input queue to be returned by the next call to
.BR \%wgetch .
A single input queue serves all windows.
The naming convention may seem obscure,
with some apparent misspellings
(such as \*(``RSUME\*('' for \*(``resume\*('');
-The names correspond to the
+the names correspond to the
.I \%term\%info
capability names for the keys,
and were standardized before the IBM PC/AT keyboard layout achieved a
.TE
.RE
.PP
-The keypad is arranged as follows.
+Many keyboards feature a nine-key directional pad.
.PP
.RS
.TS
.TE
.RE
.sp
-Two of these symbols do
+Two of the symbols in the list above do
.I not
-correspond to a real key.
+correspond to a physical key.
.bP
.B \%wgetch
returns
-.B \%KEY_RESIZE
-(even if the window's keypad mode is disabled)
+.BR \%KEY_RESIZE ,
+even if the window's keypad mode is disabled,
when
.I \%ncurses
-detects the
+handles a
.B \%SIGWINCH
signal;
-see \fBinitscr\fP(3X) and \fBresizeterm\fP(3X).
+see \fB\%initscr\fP(3X) and \fB\%resizeterm\fP(3X).
.bP
.B \%wgetch
returns
.B \%KEY_MOUSE
to indicate that a mouse event is pending collection;
-see \fBcurs_mouse\fP(3X).
+see \fB\%curs_mouse\fP(3X).
Receipt of this code requires a window's keypad mode to be enabled,
because to interpret mouse input
-(as with with \fIxterm\fP(1)'s mouse prototocol),
+(as with with \fI\%xterm\fP(1)'s mouse prototocol),
.I \%ncurses
must read an escape sequence,
as with a function key.
In
.IR \%ncurses ,
.B \%has_key
-takes a key code value from the above list,
-and returns a Boolean value indicating the terminal's recognition of it.
+returns a Boolean value indicating whether the terminal type recognizes
+its parameter as a key code value.
See also
-\fBdefine_key\fP(3X) and \fBkey_defined\fP(3X).
+\fB\%define_key\fP(3X) and \fB\%key_defined\fP(3X).
.SH RETURN VALUE
-.B \%wgetch
-returns
+Except for
+.BR \%has_key ,
+these functions return
+.B OK
+on success and
.B ERR
-if
-.bP
-the
+on failure.
+.PP
+Functions taking a
.I \%WINDOW
-pointer is
-.BR NULL ,
-or
+pointer argument fail if the pointer is
+.BR NULL .
+.PP
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
+.PP
+.B \%wgetch
+also fails if
.bP
its timeout expires without any data arriving,
or
is set to
.BR \%EINTR .
.PP
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window,
-or
-(for \*(``mvw\*('' functions)
-if the
-.I win
-parameter is a null pointer.
-.PP
.B \%ungetch
-returns
-.B OK
-on success and
-.B ERR
-if there is no more room in the input queue.
+fails if there is no more room in the input queue.
.PP
.B \%has_key
returns
distinguishes the Enter keys in the alphabetic and numeric keypad
sections of a keyboard because (most) terminals do.
.B \%KEY_ENTER
-refers to the key on the (numeric) keypad and,
+refers to the key on the numeric keypad and,
like other function keys,
-is reliably recognized only if the window's keypad mode is enabled.
+and is reliably recognized only if the window's keypad mode is enabled.
.bP
The
.I \%term\%info
.B \%key_enter
.RB ( kent )
-capability describes the character (sequence) sent by the terminal's
-keypad Enter key.
+capability describes the character (sequence) sent by the Enter key of
+a terminal's numeric
+(or similar)
+keypad.
.bP
\*(``Enter or send\*('' is X/Open Curses's description of this key.
.PP
(also known variously as the \*(``3B1\*('', \*(``Safari 4\*('', and
\*(``UNIX PC\*(''),
a 1985 machine.
-Today's computer keyboards are based on the IBM PC/AT keyboard and tend
-to have fewer.
+Today's computer keyboards are based that of the IBM PC/AT and tend to
+have fewer.
A
.I curses
application can expect such a keyboard to transmit key codes
.B \%NCURSES_VERSION
preprocessor macro.
.PP
-X/Open Curses, Issue 4, describes
+X/Open Curses,
+Issue 4 describes
\fB\%getch\fP,
\fB\%wgetch\fP,
\fB\%mvgetch\fP,
.I curses
implementations,
it varied depending on whether the operating system's dispatch of a
-signal to a handler interrupts a \fIread\fP(2) call in progress or not,
+signal to a handler interrupting a \fIread\fP(2) call in progress,
and also
(in some implementations)
whether an input timeout or non-blocking mode has been set.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getstr.3x,v 1.56 2024/04/13 22:14:06 tom Exp $
-.TH curs_getstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getstr.3x,v 1.58 2024/04/20 19:18:18 tom Exp $
+.TH curs_getstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
If a \fBSIGWINCH\fP interrupts the function, it will return \fBKEY_RESIZE\fP
rather than \fBOK\fP or \fBERR\fP.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Any of these functions other than
\fBwgetnstr\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_getyx.3x,v 1.42 2024/03/16 15:35:01 tom Exp $
-.TH curs_getyx 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_getyx.3x,v 1.44 2024/04/20 21:20:07 tom Exp $
+.TH curs_getyx 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%getparyx\fP,
\fB\%getbegyx\fP and
\fB\%getmaxyx\fP
-macros are described in the XSI Curses standard, Issue 4.
+macros are described in X/Open Curses, Issue 4.
.PP
This implementation also provides functions
\fB\%getbegx\fP,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wch.3x,v 1.28 2024/04/13 22:14:06 tom Exp $
-.TH curs_in_wch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_in_wch.3x,v 1.31 2024/04/20 21:20:07 tom Exp $
+.TH curs_in_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.nf
\fB#include <curses.h>
.PP
-\fBint in_wch(cchar_t *\fIwcval\fP);
-\fBint win_wch(WINDOW *\fIwin\fP, cchar_t *\fIwcval\fP);
+\fBint in_wch(cchar_t *\fIwch\fP);
+\fBint win_wch(WINDOW *\fIwin\fP, cchar_t *\fIwch\fP);
.PP
-\fBint mvin_wch(int \fIy\fP, int \fIx\fP, cchar_t *\fIwcval\fP);
-\fBint mvwin_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, cchar_t *\fIwcval\fP);
+\fBint mvin_wch(int \fIy\fP, int \fIx\fP, cchar_t *\fIwch\fP);
+\fBint mvwin_wch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP, cchar_t *\fIwch\fP);
.fi
.SH DESCRIPTION
These functions extract the complex character and rendition from
the current position in the named window into the \fBcchar_t\fP object
-referenced by wcval.
+referenced by wch.
.SH RETURN VALUE
-No errors are defined in the XSI Curses standard.
+No errors are defined in X/Open Curses.
This implementation checks for null pointers, returns \fBERR\fP in that case.
Also, the \fImv\fP routines check for error moving the cursor,
returning \fBERR\fP in that case.
Otherwise they return \fBOK\fP.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
Note that all of these routines may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curs_inch\fP(3X) describes comparable functions of the
.I \%ncurses
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_in_wchstr.3x,v 1.36 2024/04/13 22:21:16 tom Exp $
-.TH curs_in_wchstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_in_wchstr.3x,v 1.39 2024/04/20 21:24:19 tom Exp $
+.TH curs_in_wchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIwchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except \fBwin_wchnstr\fP may be macros.
.PP
\fBwin_wchnstr\fP
is recommended.
.SH PORTABILITY
-The XSI Curses defines no error conditions.
+X/Open Curses defines no error conditions.
This implementation checks for null pointers,
returning \fBERR\fP in that case.
.SH SEE ALSO
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inch.3x,v 1.48 2024/04/13 22:14:06 tom Exp $
-.TH curs_inch 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_inch.3x,v 1.51 2024/04/20 21:20:07 tom Exp $
+.TH curs_inch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
A_COLOR Extract color pair information
.TE
.SH RETURN VALUE
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.PP
The \fBwinch\fP function does not return an error if the window contains
characters larger than 8-bits (255).
.SH NOTES
Note that all of these routines may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.PP
Very old systems (before standardization) provide a different function
with the same name:
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inchstr.3x,v 1.42 2024/03/16 15:35:01 tom Exp $
-.TH curs_inchstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_inchstr.3x,v 1.45 2024/04/20 21:20:07 tom Exp $
+.TH curs_inchstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except \fBwinchnstr\fP may be macros.
.PP
\fBwinchnstr\fP
is recommended.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
It is no
more specific than the SVr4 documentation on the trailing 0.
It does specify
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_initscr.3x,v 1.66 2024/04/13 22:18:11 tom Exp $
-.TH curs_initscr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_initscr.3x,v 1.69 2024/04/20 21:24:19 tom Exp $
+.TH curs_initscr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBset_term\fP
returns no error.
.SH PORTABILITY
-These functions were described in the XSI Curses standard, Issue 4.
+These functions were described in X/Open Curses, Issue 4.
As of 2015, the current document is X/Open Curses, Issue 7.
.SS Differences
X/Open Curses specifies that portable applications must not
Old versions of curses, e.g., BSD 4.4, would return a null pointer
from \fBinitscr\fP when an error is detected, rather than exiting.
It is safe but redundant to check the return value of \fBinitscr\fP
-in XSI Curses.
+in X/Open Curses.
.PP
Calling \fBendwin\fP does not dispose of the memory allocated in \fBinitscr\fP
or \fBnewterm\fP.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wch.3x,v 1.28 2024/03/16 15:35:01 tom Exp $
-.TH curs_ins_wch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_ins_wch.3x,v 1.30 2024/04/20 19:18:18 tom Exp $
+.TH curs_ins_wch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
pointer argument fail if the pointer is
.BR NULL .
.PP
-Functions prefixed with \*(``mv\*('' first perform cursor movement using
-\fB\%wmove\fP and fail if the position
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
.RI ( y ,
.IR x )
-is outside the window.
+is outside the window boundaries.
.SH NOTES
A terminal's
.B \%insert_character
\fB\%mvwins_wch\fP
may be implemented as macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
.PP
SVr4 describes successful return values only as
\*(``an integer value other than \fBERR\fP\*(''.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_ins_wstr.3x,v 1.34 2024/04/13 22:14:06 tom Exp $
-.TH curs_ins_wstr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_ins_wstr.3x,v 1.38 2024/04/20 21:23:08 tom Exp $
+.TH curs_ins_wstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fBwins_wch\fP function returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP(3X), and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All but \fBwins_nwstr\fP may be macros.
.PP
If the first character in the string is a non-spacing character, these
functions will fail.
-XSI does not define what will happen if a non-spacing character follows
-a control character.
+X/Open Curses does not define what will happen
+if a non-spacing character follows a control character.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4,
+These functions are described in X/Open Curses, Issue 4,
which adds \fI\%const\fP qualifiers to the arguments.
.PP
X/Open states that the entire string is inserted if \fIn\fP is less than 1.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insch.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
-.TH curs_insch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_insch.3x,v 1.40 2024/04/20 19:03:47 tom Exp $
+.TH curs_insch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fB\%winsch\fP,
\fB\%mvinsch\fP,
\fB\%mvwinsch\fP \-
-insert a \fIcurses\fR character in a window
+insert a \fIcurses\fP character in a window
.SH SYNOPSIS
.nf
\fB#include <curses.h>\fP
the rightmost character on the line is discarded.
The cursor does not advance.
.SH "RETURN VALUE"
-These functions return \fBOK\fP on success and \fBERR\fP on failure.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
.PP
Functions taking a
.I \%WINDOW
pointer argument fail if the pointer is
.BR NULL .
.PP
-Functions prefixed with \*(``mv\*('' first perform cursor movement using
-\fB\%wmove\fP and fail if the position
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
.RI ( y ,
.IR x )
-is outside the window.
+is outside the window boundaries.
.SH NOTES
+.BR \%insch ,
+.BR \%mvinsch ,
+and
+.B \%mvwinsch
+may be implemented as macros.
+.PP
A terminal's
.B \%insert_character
.RB ( ich1 )
capability
is not necessarily employed.
-.PP
-\fB\%insch\fP,
-\fB\%mvinsch\fP,
-and
-\fB\%mvwinsch\fP
-may be implemented as macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
.PP
-SVr4 describes successful return values only as
-\*(``an integer value other than \fBERR\fP\*(''.
+SVr4
+.I curses
+describes a successful return value only as
+\*(``an integer value other than
+.BR ERR \*(''.
.SH "SEE ALSO"
\fB\%curs_ins_wch\fP(3X) describes comparable functions in the
wide-character
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_insstr.3x,v 1.48 2024/03/16 15:49:07 tom Exp $
-.TH curs_insstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_insstr.3x,v 1.51 2024/04/20 21:20:07 tom Exp $
+.TH curs_insstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
the \fBwinsch\fP(3X) function returns an error.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP(3X), and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All but \fBwinsnstr\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4,
+These functions are described in X/Open Curses, Issue 4,
which adds \fI\%const\fP qualifiers to the arguments.
.PP
The Single Unix Specification, Version 2 states that
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_instr.3x,v 1.48 2024/04/13 22:14:06 tom Exp $
-.TH curs_instr 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_instr.3x,v 1.51 2024/04/20 21:24:19 tom Exp $
+.TH curs_instr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if the \fIchstr\fP parameter is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except \fBwinnstr\fP may be macros.
.PP
SVr4 does not
document whether a length limit includes or excludes the trailing NUL.
.PP
-The \fI\%ncurses\fP library extends the XSI description by allowing a
+The \fI\%ncurses\fP library extends the X/Open Curses description by allowing a
negative value for \fIn\fP.
In this case, the functions return the string ending at the right margin.
.SH SEE ALSO
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_inwstr.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
-.TH curs_inwstr 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_inwstr.3x,v 1.41 2024/04/20 21:20:07 tom Exp $
+.TH curs_inwstr 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.bP
if no characters could be read.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement using
-\fBwmove\fP, and return an error if the position is outside the window,
-or if the window pointer is null.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
All routines except
\fBwinnwstr\fP
\fBwinnwstr\fP
is recommended.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_inch\fP(3X),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_kernel.3x,v 1.58 2024/04/13 22:19:08 tom Exp $
-.TH curs_kernel 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_kernel.3x,v 1.61 2024/04/20 21:24:19 tom Exp $
+.TH curs_kernel 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
state to restore that.
.SH PORTABILITY
The \fIvirtual screen\fP functions \fBsetsyx\fP and \fBgetsyx\fP
-are not described in the XSI Curses standard, Issue 4.
-All other functions are as described in XSI Curses.
+are not described in X/Open Curses, Issue 4.
+All other functions are as described in X/Open Curses.
.PP
The SVr4 documentation describes \fBsetsyx\fP and \fBgetsyx\fP
as having return type int.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_mouse.3x,v 1.96 2024/03/23 20:38:57 tom Exp $
-.TH curs_mouse 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_mouse.3x,v 1.98 2024/04/20 19:02:07 tom Exp $
+.TH curs_mouse 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
\fBbool has_mouse(void);
.PP
+\fBmmask_t mousemask(mmask_t \fInewmask\fP, mmask_t *\fIoldmask\fP);
+.PP
\fBint getmouse(MEVENT *\fIevent\fP);
\fBint ungetmouse(MEVENT *\fIevent\fP);
.PP
-\fBmmask_t mousemask(mmask_t \fInewmask\fP, mmask_t *\fIoldmask\fP);
-.PP
\fBbool wenclose(const WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.PP
\fBbool mouse_trafo(int* \fIpY\fP, int* \fIpX\fP, bool \fIto_screen\fP);
\fBbool wmouse_trafo(const WINDOW* \fIwin\fP,
- \fBint* \fIpY\fB, int* \fIpX\fB, bool \fIto_screen\fB);\fR
+.ti +18n \" "bool wmouse_trafo("
+\fBint* \fIpY\fB, int* \fIpX\fB, bool \fIto_screen\fB);
.PP
\fBint mouseinterval(int \fIerval\fB);\fR
.fi
\fB\%ncurses\fP(3X).
Mouse events are represented by \fB\%KEY_MOUSE\fP
pseudo-key values in the \fB\%wgetch\fP(3X) input stream.
+.SS has_mouse
+The \fB\%has_mouse\fP function returns \fBTRUE\fP if the mouse driver
+has been successfully initialized,
+and \fBFALSE\fP otherwise.
+.PP
+Mouse events are ignored when input is in cooked mode, and
+cause an error beep when cooked mode is being simulated in a window by a
+function such as \fB\%getstr\fP that expects a linefeed for input-loop
+termination.
.SS mousemask
To make mouse events visible, use the \fB\%mousemask\fP function.
This sets the mouse events to be reported.
The mouse interval is set to one sixth of a second
when the corresponding screen is initialized,
e.g., in \fBinitscr\fP(3X) or \fBsetupterm\fP(3X).
-.SS has_mouse
-The \fB\%has_mouse\fP function returns \fBTRUE\fP if the mouse driver
-has been successfully initialized,
-and \fBFALSE\fP otherwise.
-.PP
-Mouse events are ignored when input is in cooked mode, and
-cause an error beep when cooked mode is being simulated in a window by a
-function such as \fB\%getstr\fP that expects a linefeed for input-loop
-termination.
.SH RETURN VALUE
\fB\%has_mouse\fP,
\fB\%wenclose\fP,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_move.3x,v 1.35 2024/03/16 15:35:01 tom Exp $
-.TH curs_move 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
-.ie \n(.g \{\
-.ds `` \(lq
-.ds '' \(rq
-.\}
-.el \{\
-.ie t .ds `` ``
-.el .ds `` ""
-.ie t .ds '' ''
-.el .ds '' ""
-.\}
-.
+.\" $Id: curs_move.3x,v 1.40 2024/04/27 17:56:05 tom Exp $
+.TH curs_move 3X 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%move\fP,
\fB\%wmove\fP \-
\fBint wmove(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
.fi
.SH DESCRIPTION
-These routines move the cursor associated with the window to line \fIy\fP and
-column \fIx\fP.
-This routine does not move the physical cursor of the terminal
-until \fBrefresh\fP(3X) is called.
-The position specified is relative to the upper
-left-hand corner of the window, which is (0,0).
+.B \%wmove
+relocates the cursor associated with the
+.I curses
+window
+.I win
+to line
+.I y
+and column
+.IR x .
+The terminal's cursor does not move until \fB\%refresh\fP(3X) is called.
+The position
+.RI ( y ,
+.IR x )
+is relative to the upper left-hand corner of the window,
+which has coordinates
+(0,\ 0).
+\fB\%ncurses\fP(3X) describes the
+.B \%move
+variant of this function.
.SH RETURN VALUE
-These routines return the integer \fBERR\fP upon failure and an \fBOK\fP
-(SVr4 specifies only
-\*(``an integer value other than \fBERR\fP\*('')
-upon successful completion.
+These functions return
+.B OK
+on success and
+.B ERR
+on failure.
.PP
-Specifically, they return an error
-if the window pointer is null, or
-if the position is outside the window.
+They fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
+.PP
+.B \%wmove
+fails if its
+.I \%WINDOW
+pointer argument is
+.BR NULL .
.SH NOTES
-Note that \fBmove\fP may be a macro.
+.B \%move
+may be implemented as a macro.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+X/Open Curses,
+Issue 4 describes these functions.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_refresh\fP(3X)
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_outopts.3x,v 1.60 2024/04/13 22:23:57 tom Exp $
-.TH curs_outopts 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_outopts.3x,v 1.64 2024/04/20 21:24:19 tom Exp $
+.TH curs_outopts 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
will return an error if the window pointer is null
.bP
\fBwsetscrreg\fP
-returns an error if the scrolling region limits extend outside the window.
+returns an error if the scrolling region limits extend outside the
+window boundaries.
.SH NOTES
Note that
\fBclearok\fP,
The \fBimmedok\fP routine is useful for windows that are used as terminal
emulators.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4.
+These functions are described in X/Open Curses, Issue 4.
.PP
Some historic curses implementations had, as an undocumented feature, the
ability to do the equivalent of \fBclearok(..., 1)\fP by saying
Earlier System V curses implementations specified that with \fBscrollok\fP
enabled, any window modification triggering a scroll also forced a physical
refresh.
-XSI Curses does not require this, and \fI\%ncurses\fP avoids doing
+X/Open Curses does not require this, and \fI\%ncurses\fP avoids doing
it to perform better vertical-motion optimization at \fBwrefresh\fP
time.
.PP
-The XSI Curses standard does not mention that the cursor should be
+X/Open Curses does not mention that the cursor should be
made invisible as a side-effect of \fBleaveok\fP.
SVr4 curses documentation does this, but the code does not.
Use \fBcurs_set\fP to make the cursor invisible.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_overlay.3x,v 1.41 2024/03/16 15:35:01 tom Exp $
-.TH curs_overlay 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_overlay.3x,v 1.43 2024/04/20 21:20:07 tom Exp $
+.TH curs_overlay 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH NOTES
Note that \fBoverlay\fP and \fBoverwrite\fP may be macros.
.SH PORTABILITY
-These functions are described in the XSI Curses standard, Issue 4,
+These functions are described in X/Open Curses, Issue 4,
which adds \fI\%const\fP qualifiers to the arguments.
It further specifies their behavior in the presence of characters
with multibyte renditions (not yet supported in this implementation).
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_pad.3x,v 1.57 2024/04/13 22:13:17 tom Exp $
-.TH curs_pad 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_pad.3x,v 1.61 2024/04/27 17:55:43 tom Exp $
+.TH curs_pad 3X 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I pminrow
and
.I pmincol
-specify the upper left-hand corner of a rectanglar view of the pad.
+specify the upper left-hand corner of a rectangular view of the pad.
.bP
.IR sminrow ,
.IR smincol ,
.PP
The two uses may be related.
.PP
-The XSI Curses standard, Issue 4 describes these functions,
+X/Open Curses, Issue 4 describes these functions,
without significant change from the SVr3 documentation.
It describes no error conditions.
The behavior of \fB\%subpad\fP if the parent window is not
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_printw.3x,v 1.51 2024/03/23 20:38:57 tom Exp $
-.TH curs_printw 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_printw.3x,v 1.53 2024/04/20 19:18:18 tom Exp $
+.TH curs_printw 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I win
is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement
-using \fB\%wmove\fP,
-and fail if the position is outside the window.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
No wide character counterpart functions are defined by the
\*(``wide\*(''
window,
consider using \fI\%swprintf\fP(3) and \fB\%waddwstr\fP(3X) or similar.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
.I \%ncurses
However,
the latter is obsolete.
.bP
-X/Open Curses, Issue 4, Version 2 (1996),
+X/Open Curses,
+Issue 4 Version 2 (1996),
marked \fB\%vwprintw\fP as requiring \fI\%varargs.h\fP and
\*(``TO BE WITHDRAWN\*('',
and specified \fB\%vw_printw\fP using the \fI\%stdarg.h\fP interface.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_refresh.3x,v 1.44 2024/03/16 15:49:39 tom Exp $
-.TH curs_refresh 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_refresh.3x,v 1.46 2024/04/20 21:20:07 tom Exp $
+.TH curs_refresh 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.SH NOTES
Note that \fBrefresh\fP and \fBredrawwin\fP may be macros.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
.PP
Whether \fBwnoutrefresh\fP copies to the virtual screen the entire contents
of a window or just its changed portions has never been well-documented in
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scanw.3x,v 1.51 2024/03/23 20:41:15 tom Exp $
-.TH curs_scanw 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_scanw.3x,v 1.53 2024/04/20 19:18:18 tom Exp $
+.TH curs_scanw 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I win
is null.
.PP
-Functions with a \*(``mv\*('' prefix first perform a cursor movement
-using \fB\%wmove\fP,
-and fail if the position is outside the window.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH NOTES
No wide character counterpart functions are defined by the
\*(``wide\*(''
implements \fI\%vsscanf\fP(3) internally if it is unavailable when the
library is configured.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It specifies no error conditions for them.
.PP
.I \%ncurses
However,
the latter is obsolete.
.bP
-X/Open Curses, Issue 4, Version 2 (1996),
+X/Open Curses,
+Issue 4 Version 2 (1996),
marked \fB\%vwscanw\fP as requiring \fI\%varargs.h\fP and
\*(``TO BE WITHDRAWN\*('',
and specified \fB\%vw_scanw\fP using the \fI\%stdarg.h\fP interface.
.bP
-X/Open Curses, Issue 5, Draft 2
-(December 2007) marked \fB\%vwscanw\fP (along with
+X/Open Curses,
+Issue 5,
+Draft 2 (December 2007) marked \fB\%vwscanw\fP (along with
\fB\%vwscanw\fP and the \fItermcap\fP interface) as withdrawn.
After incorporating review comments,
this became
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scr_dump.3x,v 1.41 2024/03/23 20:41:15 tom Exp $
-.TH curs_scr_dump 3X 2024-03-23 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_scr_dump.3x,v 1.43 2024/04/20 18:54:36 tom Exp $
+.TH curs_scr_dump 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
and
\fB\%scr_restore\fP may be macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
.PP
.\" SVID 4, p. 529
SVr4 omitted the
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_scroll.3x,v 1.41 2024/04/14 00:14:28 tom Exp $
-.TH curs_scroll 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_scroll.3x,v 1.43 2024/04/20 18:54:36 tom Exp $
+.TH curs_scroll 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.PP
\fB\%scrl\fP and \fB\%scroll\fP may be implemented as macros.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions.
+X/Open Curses,
+Issue 4 describes these functions.
It defines no error conditions.
.PP
SVr4 specifies only
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_slk.3x,v 1.69 2024/03/16 15:35:01 tom Exp $
-.TH curs_slk 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_slk.3x,v 1.71 2024/04/20 18:54:36 tom Exp $
+.TH curs_slk 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
and used to set the color pair instead of the \fIshort\fP pair
parameter.
.SH PORTABILITY
-X/Open Curses, Issue 4, describes these functions,
+X/Open Curses,
+Issue 4 describes these functions,
with some differences from SVr4 \fIcurses\fP:
.bP
X/Open added functions like the SVr4 attribute-manipulation functions
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_sp_funcs.3x,v 1.48 2024/03/16 15:35:01 tom Exp $
-.TH curs_sp_funcs 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_sp_funcs.3x,v 1.50 2024/04/20 18:56:31 tom Exp $
+.TH curs_sp_funcs 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
\fBint echo_sp(SCREEN* \fIsp\fP);
\fBint endwin_sp(SCREEN* \fIsp\fP);
\fBchar erasechar_sp(SCREEN* \fIsp\fP);
-\fBint erasewchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIch\fP);
+\fBint erasewchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIwc\fP);
\fBint extended_color_content_sp(SCREEN * \fIsp\fP, int \fIcolor\fP, int * \fIr\fP, int * \fIg\fP, int * \fIb\fP);
\fBint extended_pair_content_sp(SCREEN* \fIsp\fP, int \fIpair\fP, int * \fIfg\fP, int * \fIbg\fP);
\fBint extended_slk_color_sp(SCREEN* \fIsp\fP, int \fIpair\fP);
.PP
\fBbool has_ic_sp(SCREEN* \fIsp\fP);
\fBbool has_il_sp(SCREEN* \fIsp\fP);
-\fBint has_key_sp(SCREEN* \fIsp\fP, int \fIch\fP);
+\fBint has_key_sp(SCREEN* \fIsp\fP, int \fIc\fP);
\fBbool has_mouse_sp(SCREEN* \fIsp\fP);
\fBint init_color_sp(SCREEN* \fIsp\fP, short \fIcolor\fP, short \fIr\fP, short \fIg\fP, short \fIb\fP);
\fBint init_extended_color_sp(SCREEN* \fIsp\fP, int \fIcolor\fP, int \fIr\fP, int \fIg\fP, int \fIb\fP);
\fBint keyok_sp(SCREEN* \fIsp\fP, int \fIkeycode\fP, bool \fIenable\fP);
\fBchar killchar_sp(SCREEN* \fIsp\fP);
.PP
-\fBint killwchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIch\fP);
+\fBint killwchar_sp(SCREEN* \fIsp\fP, wchar_t *\fIwc\fP);
\fBchar* longname_sp(SCREEN* \fIsp\fP);
\fBint mcprint_sp(SCREEN* \fIsp\fP, char *\fIdata\fP, int \fIlen\fP);
\fBint mouseinterval_sp(SCREEN* \fIsp\fP, int \fIerval\fP);
\fBchtype termattrs_sp(SCREEN* \fIsp\fP);
\fBchar* termname_sp(SCREEN* \fIsp\fP);
\fBint typeahead_sp(SCREEN* \fIsp\fP, int \fIfd\fP);
-\fBint unget_wch_sp(SCREEN* \fIsp\fP, const wchar_t \fIwch\fP);
-\fBint ungetch_sp(SCREEN* \fIsp\fP, int \fIch\fP);
+\fBint unget_wch_sp(SCREEN* \fIsp\fP, const wchar_t \fIwc\fP);
+\fBint ungetch_sp(SCREEN* \fIsp\fP, int \fIc\fP);
\fBint ungetmouse_sp(SCREEN* \fIsp\fP, MEVENT* \fIevent\fP);
\fBint use_default_colors_sp(SCREEN* \fIsp\fP);
\fBvoid use_env_sp(SCREEN* \fIsp\fP, bool \fIbf\fP);
\fBint vid_puts_sp(SCREEN* \fIsp\fP, attr_t \fIattrs\fP, short \fIpair\fP, void * \fIopts\fP, NCURSES_SP_OUTC \fIputc\fP);
\fBint vidattr_sp(SCREEN* \fIsp\fP, chtype \fIattrs\fP);
\fBint vidputs_sp(SCREEN* \fIsp\fP, chtype \fIattrs\fP, NCURSES_SP_OUTC \fIputc\fP);
-\fBwchar_t* wunctrl_sp(SCREEN* \fIsp\fP, cchar_t *\fIch\fP);
+\fBwchar_t* wunctrl_sp(SCREEN* \fIsp\fP, cchar_t *\fIwch\fP);
.PP
\fB#include <form.h>
.PP
.PP
\fB#include <unctrl.h>
.PP
-\fBNCURSES_CONST char* unctrl_sp(SCREEN* \fIsp\fP, chtype \fIc\fP);
+\fBNCURSES_CONST char* unctrl_sp(SCREEN* \fIsp\fP, chtype \fIch\fP);
.fi
.SH DESCRIPTION
This implementation can be configured to provide a set of functions which
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termattrs.3x,v 1.38 2024/04/13 22:16:39 tom Exp $
-.TH curs_termattrs 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_termattrs.3x,v 1.41 2024/04/20 21:20:07 tom Exp $
+.TH curs_termattrs 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%baudrate\fP,
\fB\%erasechar\fP,
.PP
\fBint baudrate(void);
\fBchar erasechar(void);
-\fBint erasewchar(wchar_t *\fIch\fP);
+\fBint erasewchar(wchar_t *\fIwc\fP);
\fBbool has_ic(void);
\fBbool has_il(void);
\fBchar killchar(void);
-\fBint killwchar(wchar_t *\fIch\fP);
+\fBint killwchar(wchar_t *\fIwc\fP);
\fBchar *longname(void);
\fBattr_t term_attrs(void);
\fBchtype termattrs(void);
The \fBerasechar\fP routine returns the user's current erase character.
.PP
The \fBerasewchar\fP routine stores the current erase character
-in the location referenced by \fIch\fP.
+in the location referenced by \fIwc\fP.
If no erase character has been defined, the routine fails
-and the location referenced by \fIch\fP is not changed.
+and the location referenced by \fIwc\fP is not changed.
.SS "has_ic, has_il"
The \fBhas_ic\fP routine is true if the terminal has insert- and delete-
character capabilities.
The \fBkillchar\fP routine returns the user's current line kill character.
.PP
The \fBkillwchar\fP routine stores the current line-kill character
-in the location referenced by \fIch\fP.
+in the location referenced by \fIwc\fP.
If no line-kill character has been defined,
-the routine fails and the location referenced by \fIch\fP is not changed.
+the routine fails and the location referenced by \fIwc\fP is not changed.
.SS longname
The \fBlongname\fP routine returns a pointer to a static area
containing a verbose description of the current terminal.
.SH NOTES
Note that \fBtermattrs\fP may be a macro.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
It changes the
return type of \fBtermattrs\fP to the new type \fBattr_t\fP.
Most versions of curses truncate the result returned by \fBtermname\fP to
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_termcap.3x,v 1.83 2024/03/16 15:35:01 tom Exp $
-.TH curs_termcap 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_termcap.3x,v 1.85 2024/04/20 19:13:12 tom Exp $
+.TH curs_termcap 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
X/Open Curses now withdrawn.
The BSD \fItermcap\fP library would store a copy of the terminal type
description in the area referenced by this pointer.
-\fI\%ncurses\fP stores terminal type descriptions in compiled form,
+\fI\%term\%info\fP stores terminal type descriptions in compiled form,
which is not the same thing.
.bP
The meanings of the return values differ.
not the older and not-quite-compatible \fItermcap\fP notation.
This does not cause problems if all you do with it is call \fB\%tgoto\fP
or \fB\%tparm\fP,
-which both expand \fI\%term\%info\fP-style strings as \fI\%term\%info\fP
-does.
+which both parametrically expand \fI\%term\%info\fP-style string
+capabilities as \fI\%term\%info\fP does.
(If
.I \%ncurses
is configured to support \fItermcap,\fP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_touch.3x,v 1.44 2024/03/16 15:49:58 tom Exp $
-.TH curs_touch 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_touch.3x,v 1.47 2024/04/20 21:20:07 tom Exp $
+.TH curs_touch 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%touchwin\fP,
\fB\%touchline\fP,
\fBis_linetouched\fP
returns an error
if the window pointer is null, or
-if the line number is outside the window.
+if the line number is outside the window boundaries.
.IP
The constant \fBERR\fP is distinct from \fBTRUE\fP and \fBFALSE\fP,
which are the normal return values of this function.
\fBwtouchln\fP
returns an error
if the window pointer is null, or
-if the line number is outside the window.
+if the line number is outside the window boundaries.
.RE
.SH NOTES
All of these routines except \fB\%wtouchln\fP may be macros.
that it is not \fBNULL\fP;
otherwise this implementation behaves the same as SVr4.
.PP
-The XSI Curses standard, Issue 4 describes these functions,
+X/Open Curses, Issue 4 describes these functions,
but defines no error conditions.
.SH SEE ALSO
\fB\%curses\fP(3X),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_trace.3x,v 1.47 2024/03/16 15:35:01 tom Exp $
-.TH curs_trace 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_trace.3x,v 1.50 2024/04/20 21:24:19 tom Exp $
+.TH curs_trace 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.nf
\fB#include <curses.h>
.PP
-\fBunsigned curses_trace(const unsigned \fIparam\fP);
+\fBunsigned curses_trace(const unsigned \fItrace-mask\fP);
.PP
\fBvoid _tracef(const char *\fIformat\fP, ...);
.PP
\fBchar *_traceattr2(int \fIbuffer\fP, chtype \fIch\fP);
\fBchar *_tracecchar_t(const cchar_t *\fIstring\fP);
\fBchar *_tracecchar_t2(int \fIbuffer\fP, const cchar_t *\fIstring\fP);
-\fBchar *_tracechar(int \fIch\fP);
+\fBchar *_tracechar(int \fIc\fP);
\fBchar *_tracechtype(chtype \fIch\fP);
\fBchar *_tracechtype2(int \fIbuffer\fP, chtype \fIch\fP);
.PP
\fBchar *_tracemouse(const MEVENT *\fIevent\fP);
.PP
\fI/* deprecated */\fP
-\fBvoid trace(const unsigned int \fIparam\fP);
+\fBvoid trace(const unsigned int \fItrace-mask\fP);
.fi
.SH DESCRIPTION
The \fIcurses trace\fP routines are used for debugging the
.RE
.dE
.SH PORTABILITY
-These functions are not part of the XSI interface.
+These functions are not part of the X/Open Curses interface.
Some other curses implementations are known to
have similar features,
but they are not compatible with \fI\%ncurses\fP:
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_util.3x,v 1.98 2024/03/16 15:50:09 tom Exp $
-.TH curs_util 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_util.3x,v 1.101 2024/04/20 21:20:07 tom Exp $
+.TH curs_util 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.nf
\fB#include <curses.h>
.PP
-\fBconst char *unctrl(chtype \fIc\fP);
-\fBwchar_t *wunctrl(cchar_t *\fIc\fP);
+\fBconst char *unctrl(chtype \fIch\fP);
+\fBwchar_t *wunctrl(cchar_t *\fIwch\fP);
.PP
\fBconst char *keyname(int \fIc\fP);
-\fBconst char *key_name(wchar_t \fIw\fP);
+\fBconst char *key_name(wchar_t \fIwc\fP);
.PP
\fBvoid filter(void);
.PP
.SH DESCRIPTION
.SS unctrl
The \fBunctrl\fP routine returns a character string which is a printable
-representation of the character \fIc\fP:
+representation of the character \fIch\fP:
.bP
Printable characters are displayed as themselves,
e.g., a one-character string containing the key.
this follows the X/Open specification.
.PP
The corresponding \fBwunctrl\fP returns a printable representation of
-a complex character \fIc\fP.
+a complex character \fIwch\fP.
.PP
In both \fBunctrl\fP and \fBwunctrl\fP the attributes and color associated
with the character parameter are ignored.
.SS filter
The SVr4 documentation describes the action of \fBfilter\fP only in the vaguest
terms.
-The description here is adapted from the XSI Curses standard (which
+The description here is adapted from X/Open Curses (which
erroneously fails to describe the disabling of \fBcuu\fP).
.SS "delay_output padding"
The limitation to 30 seconds
This implementation reduces the problem on writes by flushing the output.
However, reading from a file written using mixed schemes may not be successful.
.SS "unctrl, wunctrl"
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
It states that \fBunctrl\fP and \fBwunctrl\fP will return a null pointer if
unsuccessful, but does not define any error conditions.
This implementation checks for three cases:
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_window.3x,v 1.46 2024/03/16 15:35:01 tom Exp $
-.TH curs_window 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_window.3x,v 1.48 2024/04/20 21:20:07 tom Exp $
+.TH curs_window 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
.PP
Note that \fBsyncok\fP may be a macro.
.SH PORTABILITY
-The XSI Curses standard, Issue 4 describes these functions.
+X/Open Curses, Issue 4 describes these functions.
.PP
X/Open Curses states regarding \fBdelwin\fP:
.bP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: form_driver.3x,v 1.59 2024/03/16 15:35:01 tom Exp $
-.TH form_driver 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: form_driver.3x,v 1.61 2024/04/20 18:55:09 tom Exp $
+.TH form_driver 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.de bP
.ie n .IP \(bu 4
.el .IP \(bu 2
\fB#include <form.h>
.PP
\fBint form_driver(FORM *\fIform\fP, int \fIc\fP);
-\fBint form_driver_w(FORM *\fIform\fP, int \fIc\fP, wchar_t \fIwch\fP);
+\fBint form_driver_w(FORM *\fIform\fP, int \fIc\fP, wchar_t \fIwc\fP);
.fi
.SH DESCRIPTION
.SS form_driver
.\"
.\" Author: Thomas E. Dickey
.\"
-.\" $Id: legacy_coding.3x,v 1.26 2024/03/16 15:35:01 tom Exp $
-.TH legacy_coding 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: legacy_coding.3x,v 1.28 2024/04/20 19:13:50 tom Exp $
+.TH legacy_coding 3X 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%use_legacy_coding\fP \-
override \fIcurses\fR locale encoding checks
\fBint use_legacy_coding(int \fIlevel\fP);
.fi
.SH DESCRIPTION
-The \fBuse_legacy_coding\fP function is an extension to the curses library.
-It allows the caller to change the result of \fBunctrl\fP,
-and suppress related checks within the library that would normally
-cause nonprinting characters to be rendered in visible form.
-This affects only 8-bit characters.
+.B \%use_legacy_coding
+is an extension to the
+.I curses
+library.
+It allows the caller to change the result of \fB\%unctrl\fP(3X),
+suppressing \fI\%isprint\fP(3)-based checks within the library that
+would normally cause nonprinting characters to be rendered in visible
+form.
+The alteration affects only eight-bit characters.
.PP
-The \fIlevel\fP parameter controls the result:
+The
+.I level
+parameter controls the result.
.RS
.TP 5
-0
-the library functions normally,
-rendering nonprinting characters as described in \fBunctrl\fP.
+.B 0
+The library functions normally,
+rendering nonprinting characters as described in \fB\%unctrl\fP(3X),
.TP
-1
-the library ignores \fBisprintf\fP for codes in the range 160-255.
+.B 1
+the library ignores
+.I \%isprint
+for codes in the range 160-255.
.TP
-2
-the library ignores \fBisprintf\fP for codes in the range 128-255.
-It also modifies the output of \fBunctrl\fP, showing codes in the
-range 128-159 as is.
+.B 2
+the library ignores
+.I \%isprint
+for codes in the range 128-255.
+It also modifies the output of \fB\%unctrl\fP(3X),
+showing codes in the range 128-159 as is.
.RE
.SH RETURN VALUE
If the screen has not been initialized,
-or the \fIlevel\fP parameter is out of range,
-the function returns \fBERR\fP.
-Otherwise, it returns the previous level: \fB0\fP, \fB1\fP or \fB2\fP.
+or the
+.I level
+parameter is out of range,
+.B \%use_legacy_coding
+returns
+.BR ERR .
+Otherwise,
+it returns the previous level:
+.BR 0 ,
+.BR 1 ,
+or
+.BR 2 .
.SH PORTABILITY
-This routine is specific to \fI\%ncurses\fP.
+.B \%use_legacy_coding
+is specific to
+.IR \%ncurses .
It was not supported on Version 7, BSD or System V implementations.
-It is recommended that any code depending on \fI\%ncurses\fP extensions
-be conditioned using NCURSES_VERSION.
+Applications employing
+.I \%ncurses
+extensions should condition their use on the visibility of the
+.B \%NCURSES_VERSION
+preprocessor macro.
.SH AUTHORS
-Thomas Dickey (to support lynx's font-switching feature).
+Thomas Dickey
+(to support \fI\%lynx\fP(1)'s font-switching feature).
.SH SEE ALSO
\fB\%unctrl\fP(3X)
-# $Id: manhtml.externs,v 1.24 2024/04/14 00:15:03 tom Exp $
+# $Id: manhtml.externs,v 1.25 2024/04/20 19:26:05 tom Exp $
# Items in this list will not be linked by man2html
#***************************************************************************
# Copyright 2019-2023,2024 Thomas E. Dickey *
nvi(1)
od(1)
ioctl(2)
+isprint(3)
printf(3)
profile(5)
putc(3)
-# $Id: manlinks.sed,v 1.19 2023/09/17 08:26:33 tom Exp $
+# $Id: manlinks.sed,v 1.21 2024/04/20 22:25:36 tom Exp $
##############################################################################
-# Copyright 2020-2021,2023 Thomas E. Dickey #
+# Copyright 2020-2023,2024 Thomas E. Dickey #
# Copyright 2000-2003,2008 Free Software Foundation, Inc. #
# #
# Permission is hereby granted, free of charge, to any person obtaining a #
#
# Finally, remove the parameter list, which begins with a '('.
/^\.SH_(SYNOPSIS/,/^\.SH_(DESCRIPTION/{
+/^\.ti/d
/^[^(]*$/d
# reduce
# .B "int add_wch( const cchar_t *\fIwch\fB );"
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: ncurses.3x,v 1.207 2024/04/14 00:34:00 tom Exp $
-.TH ncurses 3X 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: ncurses.3x,v 1.214 2024/04/27 17:55:43 tom Exp $
+.TH ncurses 3X 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.el .IP \(bu 2
..
.
+.\" Add supplementary paragraph tag on its own line after TP.
+.\" Adapted from TQ (which would produce mandoc warnings).
+.de tQ
+. br
+. ns
+. TP
+..
+.
.ds d @TERMINFO@
.SH NAME
\fB\%ncurses\fP \-
and
4.4BSD Unix,
the development of which ceased in the 1990s.
-This describes \fI\%ncurses\fP
-version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+This document describes
+.I \%ncurses
+version @NCURSES_MAJOR@.@NCURSES_MINOR@
+(patch @NCURSES_PATCH@).
.PP
.I \%ncurses
permits control of the terminal screen's contents;
center;
Li L.
bf \fIbool\fP (\fBTRUE\fP or \fBFALSE\fP)
+c a \fIchar\fP or \fIint\fP
+ch a \fIchtype\fP
+wc a \fIwchar_t\fP or \fIwint_t\fP
+wch a \fIcchar_t\fP
win pointer to a \fIWINDOW\fP
pad pointer to a \fIWINDOW\fP that is a pad
.TE
Typically,
.I \%ncurses
treats a null pointer passed as a function parameter as a failure.
-Functions with a \*(``mv\*('' prefix first perform cursor movement using
-\fB\%wmove\fP(3X) and fail if the position is outside the window.
+Functions prefixed with \*(``mv\*('' first perform cursor movement and
+fail if the position
+.RI ( y ,
+.IR x )
+is outside the window boundaries.
.SH ENVIRONMENT
The following symbols from the process environment customize the
runtime behavior of
Many terminal type descriptions,
including that for the VT100,
embed delay specifications in capabilities.
-You may wish to use these temrinal descriptions without paying the
+You may wish to use these terminal descriptions without paying the
performance penalty.
Set
.I \%NCURSES_NO_PADDING
the library calls \fB\%curses_trace\fP(3X) with that value as the
argument.
.SS "\fITERM\fP"
-Denotes your terminal type.
-Each terminal type is distinct, though many are similar.
-.PP
-\fITERM\fP is commonly set by terminal emulators to help
-applications find a workable terminal description.
-Some of those choose a popular approximation, e.g.,
-\*(``ansi\*('', \*(``vt100\*('', \*(``xterm\*('' rather than an exact fit.
-Not infrequently, your application will have problems with that approach,
-e.g., incorrect function-key definitions.
-.PP
-If you set \fITERM\fP in your environment,
-it has no effect on the operation of the terminal emulator.
-It only affects the way applications work within the terminal.
-Likewise, as a general rule (\fBxterm\fP(1) being a rare exception),
-terminal emulators which allow you to
-specify \fITERM\fP as a parameter or configuration value do
-not change their behavior to match that setting.
+The
+.I TERM
+variable denotes the terminal type.
+Each is distinct,
+though many are similar.
+It is commonly set by terminal emulators to help applications find a
+workable terminal description.
+Some choose a popular approximation such as \*(``ansi\*('',
+\*(``vt100\*('', or \*(``xterm\*('' rather than an exact fit to their
+capabilities.
+Not infrequently,
+an application will have problems with that approach;
+for example,
+a key stroke may not operate correctly,
+or produce no effect but seeming garbage characters on the screen.
+.PP
+Setting
+.I TERM
+has no effect on hardware operation;
+it affects the way applications communicate with the terminal.
+Likewise,
+as a general rule
+(\fIxterm\fP(1) being a rare exception),
+terminal emulators that allow you to specify
+.I TERM
+as a parameter or configuration value do not change their behavior to
+match that setting.
.SS "\fITERMCAP\fP"
-If the \fI\%ncurses\fP library has been configured with \fItermcap\fP
-support, \fI\%ncurses\fP will check for a terminal's description in
-termcap form if it is not available in the terminfo database.
-.PP
-The \fI\%TERMCAP\fP environment variable contains
-either a terminal description (with newlines stripped out),
-or a file name telling where the information denoted by
-the \fITERM\fP environment variable exists.
-In either case, setting it directs \fI\%ncurses\fP to ignore
-the usual place for this information, e.g., /etc/termcap.
+If
+.I \%ncurses
+is configured with
+.I termcap
+support,
+it checks for a terminal type description in
+.I termcap
+format if one in
+.I \%term\%info
+format is not available.
+Setting this variable directs
+.I \%ncurses
+to ignore the usual
+.I termcap
+database location,
+.IR \%/etc/termcap ;
+see
+.I \%TERMPATH
+below.
+.I \%TERMCAP
+should contain either a terminal description
+(with newlines stripped out),
+or a file name indicating where the information required by the
+.I TERM
+environment variable is stored.
.SS "\fITERMINFO\fP"
-\fI\%ncurses\fP can be configured to read from multiple terminal
-databases.
-The \fI\%TERMINFO\fP variable overrides the location for
-the default terminal database.
-Terminal descriptions (in terminal format) are stored in terminal databases:
+.I \%ncurses
+can be configured to read terminal type description databases in various
+locations using different formats.
+This variable overrides the default location.
.bP
-Normally these are stored in a directory tree,
-using subdirectories named by the first letter of the terminal names therein.
-.IP
-This is the scheme used in System V, which legacy Unix systems use,
-and the \fI\%TERMINFO\fP variable is used by \fIcurses\fP applications
-on those
-systems to override the default location of the terminal database.
-.IP \(bu 4
-If \fI\%ncurses\fP is built to use hashed databases,
-then each entry in this list may be the path of a hashed database file, e.g.,
-.RS 4
-.PP
-.RS 4
-.EX
-/usr/share/terminfo.db
-.EE
-.RE
-.PP
+Descriptions in
+.I \%term\%info
+format are normally stored in a directory tree using subdirectories
+named by the common first letters of the terminal types named therein.
+This is the scheme used in System\ V.
+.bP
+If
+.I \%ncurses
+is configured to use hashed databases,
+then
+.I \%TERM\%INFO
+may name its location,
+such as
+.IR \%/usr/share/terminfo.db ,
rather than
+.IR \%/usr/share/terminfo/ .
.PP
-.RS 4
-.EX
-/usr/share/terminfo/
-.EE
-.RE
-.PP
-The hashed database uses less disk-space and is a little faster than the
+The hashed database uses less disk space and is a little faster than the
directory tree.
However,
some applications assume the existence of the directory tree,
-reading it directly
-rather than using the terminfo library calls.
-.RE
+and read it directly
+rather than using the
+.I \%term\%info
+API.
.bP
-If \fI\%ncurses\fP is built with a support for reading termcap files
-directly, then an entry in this list may be the path of a termcap file.
-.IP \(bu 4
-If the \fI\%TERMINFO\fP variable begins with
-\*(``hex:\*('' or \*(``b64:\*('',
-\fI\%ncurses\fP uses the remainder of that variable as a compiled
-terminal description.
-You might produce the base64 format using \fBinfocmp\fP(1M):
-.RS 4
-.PP
+If
+.I \%ncurses
+is configured with
+.I termcap
+support,
+this variable may contain the location of a
+.I \%termcap
+file.
+.bP
+If the value of
+.I \%TERM\%INFO
+begins with \*(``hex:\*('' or \*(``b64:\*('',
+.I \%ncurses
+uses the remainder of the value as a compiled
+.I \%term\%info
+description.
+You might produce the base64 format using \fB\%infocmp\fP(1M).
.RS 4
+.IP
.EX
-TERMINFO="$(infocmp \-0 \-Q2 \-q)"
+TERMINFO=$(infocmp \-0 \-Q2 \-q)
export TERMINFO
.EE
.RE
+.IP
+The compiled description is used only if it corresponds to the terminal
+type identified by
+.IR TERM .
.PP
-The compiled description is used if it corresponds to the terminal identified
-by the \fITERM\fP variable.
-.RE
-.PP
-Setting \fI\%TERMINFO\fP is the simplest,
-but not the only way to set location of the default terminal database.
-The complete list of database locations in order follows:
-.RS 3
+Setting
+.I \%TERM\%INFO
+is the simplest,
+but not the only,
+way to direct
+.I \%ncurses
+to a terminal database.
+The search path is as follows.
.bP
-the last terminal database to which \fI\%ncurses\fP wrote,
-if any, is searched first
+the last terminal database to which the running
+.I \%ncurses
+application wrote,
+if any
.bP
-the location specified by the \fI\%TERMINFO\fP environment variable
+the location specified by the
+.I \%TERM\%INFO
+environment variable
.bP
-$HOME/.terminfo
+.I $HOME/.terminfo
.bP
-locations listed in the \fI\%TERMINFO_DIRS\fP environment variable
+locations listed in the
+.I \%TERMINFO_DIRS
+environment variable
+.ds td \" empty
+.if !'@TERMINFO_DIRS@'no default value' .as td @TERMINFO_DIRS@
+.if !'@TERMINFO@\*(td'' \{\
.bP
-one or more locations whose names are configured and compiled into the
-\fI\%ncurses\fP library, i.e.,
+location(s) configured and compiled into
+.I \%ncurses
.RS 3
+.if !'\*(td'' \{\
.bP
-@TERMINFO_DIRS@ (corresponding to the \fI\%TERMINFO_DIRS\fP variable)
+.I \%@TERMINFO_DIRS@
+.\}
+.if !'@TERMINFO'' .if !'\*(td'@TERMINFO@' \{\
.bP
-@TERMINFO@ (corresponding to the \fITERMINFO\fP variable)
-.RE
+.I \%@TERMINFO@
+.\}
+.\}
.RE
.SS "\fITERMINFO_DIRS\fP"
-Specifies a list of locations to search for terminal descriptions.
-Each location in the list is a terminal database as described in
-the section on the \fI\%TERMINFO\fP variable.
-The list is separated by colons (i.e., ":") on Unix, semicolons on OS/2 EMX.
-.PP
-There is no corresponding feature in System V terminfo;
-it is an extension developed for \fI\%ncurses\fP.
+This variable specifies a list of locations,
+akin to
+.IR PATH ,
+in which
+.I \%ncurses
+searches for the terminal type descriptions described by
+.I \%TERMINFO
+above.
+The list items are separated by colons on Unix
+and semicolons on OS/2 EMX.
+System\ V
+.I \%term\%info
+lacks a corresponding feature;
+.I \%TERMINFO_DIRS
+is an
+.I \%ncurses
+extension.
.SS "\fITERMPATH\fP"
-If \fI\%TERMCAP\fP does not hold a file name then \fI\%ncurses\fP checks
-the \fI\%TERMPATH\fP environment variable.
-This is a list of filenames separated by spaces or colons (i.e., ":") on Unix,
-semicolons on OS/2 EMX.
-.PP
-If the \fI\%TERMPATH\fP environment variable is not set,
-\fI\%ncurses\fP looks in the files
-.PP
-.RS 4
-.EX
-/etc/termcap, /usr/share/misc/termcap and $HOME/.termcap,
-.EE
-.RE
+If
+.I \%TERMCAP
+does not hold a terminal type description or file name,
+then
+.I \%ncurses
+checks the contents of
+.IR \%TERMPATH ,
+a list of locations,
+akin to
+.IR PATH ,
+in which it searches for
+.I termcap
+terminal type descriptions.
+The list items are separated by colons on Unix
+and semicolons on OS/2 EMX.
.PP
+If both
+.I \%TERMCAP
+and
+.I \%TERMPATH
+are unset or invalid,
+.I \%ncurses
+searches for the files
+.IR \%/etc/termcap ,
+.IR \%/usr/share/misc/termcap ,
+and
+.IR \%$HOME/.termcap ,
in that order.
.SH "ALTERNATE CONFIGURATIONS"
Many different
employing
.IR \%ncurses .
.TP 5
-\-\-disable\-overwrite
+.B \-\-disable\-overwrite
The standard include for \fI\%ncurses\fP is as noted in \fBSYNOPSIS\fP:
.RS 5
.PP
to build executables.
.RE
.TP 5
-\-\-enable\-widec
+.B \-\-enable\-widec
The configure script renames the library and
(if the \fB\-\-disable\-overwrite\fP option is used)
puts the header files in a different subdirectory.
You must also enable the wide-character features in the header file
when compiling for the wide-character library
to use the extended (wide-character) functions.
-The symbol which enables these features has changed since XSI Curses, Issue 4:
+The symbol which enables these features has changed
+since X/Open Curses, Issue 4:
.bP
Originally, the wide-character feature required the symbol
\fB_XOPEN_SOURCE_EXTENDED\fP
from the same set of headers.
.RE
.TP 5
-\-\-with\-pthread
+.B \-\-with\-pthread
The configure script renames the library.
All of the library names have a \*(``t\*('' appended to them
(before any \*(``w\*('' added by \fB\-\-enable\-widec\fP).
At the same time, setter-functions are provided to set these values.
Some applications (very few) may require changes to work with this convention.
.TP 5
-\-\-with\-shared
-.TP
-\-\-with\-normal
-.TP
-\-\-with\-debug
-.TP
-\-\-with\-profile
+.B \-\-with\-shared
+.tQ
+.B \-\-with\-normal
+.tQ
+.B \-\-with\-debug
+.tQ
+.B \-\-with\-profile
The shared and normal (static) library names differ by their suffixes,
e.g., \fBlibncurses.so\fP and \fBlibncurses.a\fP.
The debug and profiling libraries add a \*(``_g\*(''
and a \*(``_p\*('' to the root names respectively,
e.g., \fBlibncurses_g.a\fP and \fBlibncurses_p.a\fP.
.TP 5
-\-\-with\-termlib
+.B \-\-with\-termlib
Low-level functions which do not depend upon whether the library
supports wide-characters, are provided in the tinfo library.
.IP
\fB\%curs_util\fP(3X) \- miscellaneous \fIcurses\fP utility routines
.RE
.TP 5
-\-\-with\-trace
+.B \-\-with\-trace
The \fBtrace\fP function normally resides in the debug library,
but it is sometimes useful to configure this in the shared library.
Configure scripts should check for the function's existence rather
.I \%ncurses
program is redirected to something that is not a terminal device,
the library writes screen updates to the standard error file descriptor.
-This was an undocumented feature of SVr3.
+This was an undocumented feature of SVr3
+.IR curses .
.PP
-See subsection \*(``Header files\*('' below regarding symbols exposed by
+See subsection \*(``Header Files\*('' below regarding symbols exposed by
inclusion of \fI\%curses.h\fP.
.SH EXTENSIONS
.I \%ncurses
enables an application to capture mouse events on certain terminals,
-including
-.IR \%xterm ;
+including \fI\%xterm\fP(1);
see \fB\%curs_mouse\fP(3X).
.PP
.I \%ncurses
.I \%ncurses
extends the fixed set of function key capabilities specified by X/Open
Curses by allowing the application programmer to define additional key
-sequences at runtime;
+events at runtime;
see
\fB\%define_key\fP(3X),
\fB\%key_defined\fP(3X),
+\fB\%keybound\fP(3X),
and
\fB\%keyok\fP(3X).
.PP
.PP
An
.I \%ncurses
-application can choose to hide the internal details of
+application can eschew knowledge of
.I \%WINDOW
-structures,
+structure internals,
instead using accessor functions such as
\fB\%is_scrollok\fP(3X).
.PP
that can gather color information from them when many colors are
supported.
.PP
-Some extensions are only available if
+Some extensions are available only if
+.I \%ncurses
+permits modification of \fB\%unctrl\fP(3X)'s behavior;
+see \fB\%use_legacy_coding\fP(3X).
.I \%ncurses
is compiled to support them;
section \*(``ALTERNATE CONFIGURATIONS\*('' describes how.
such as wide-character and color support.
.I \%ncurses
intends base-level conformance with X/Open Curses,
-and supports nearly all its enhanced features.
-.\" XXX: What's missing? GBR counts untic(1), and that's all.
+and supports all features of its enhanced level
+except the \fB\%untic\fP utility.
.PP
Differences between X/Open Curses and
.I \%ncurses
In many cases, X/Open Curses is vague about error conditions,
omitting some of the SVr4 documentation.
.PP
-Unlike other implementations, this one checks parameters such as pointers
-to \fI\%WINDOW\fP structures to ensure they are not null.
-The main reason for providing this behavior is to guard against programmer
-error.
+Unlike other implementations,
+.I \%ncurses
+checks pointer parameters,
+such as those to
+.I \%WINDOW
+structures,
+to ensure that they are not null.
+This is done primarily to guard against programmer error.
The standard interface does not provide a way for the library
-to tell an application which of several possible errors were detected.
-Relying on this (or some other) extension will adversely affect the
-portability of curses applications.
+to tell an application which of several possible errors occurred.
+Relying on this
+(or some other)
+extension adversely affects the portability of
+.I curses
+applications.
.SS "Padding Differences"
-In historic curses versions, delays embedded in the capabilities \fBcr\fP,
-\fBind\fP, \fBcub1\fP, \fBff\fP and \fBtab\fP activated corresponding delay
-bits in the Unix tty driver.
-In this implementation, all padding is done by sending NUL bytes.
-This method is slightly more expensive, but narrows the interface
-to the Unix kernel significantly and increases the package's portability
-correspondingly.
+In historical
+.I curses
+implementations,
+delays embedded in the
+.I \%term\%info
+capabilities
+.B \%carriage_return
+.RB ( cr ),
+.B \%scroll_forward
+.RB ( ind ),
+.B \%cursor_left
+.RB ( cub1 ),
+.B \%form_feed
+.RB ( ff ),
+and
+.B \%tab
+.RB ( ht )
+activated corresponding delay bits in the Unix terminal driver.
+.I \%ncurses
+performs all padding by sending NUL bytes to the device.
+This method is slightly more expensive,
+but narrows the interface to the Unix kernel significantly and
+correspondingly increases the package's portability.
.SS "Header Files"
-The header file \fI\%curses.h\fP itself includes the header files
-\fI\%stdio.h\fP and \fI\%unctrl.h\fP.
+The header file
+.I \%curses.h
+itself includes the header files
+.I \%stdio.h
+and
+.IR \%unctrl.h .
.PP
X/Open Curses has more to say,
-but does not finish the story:
.RS 4
.PP
-The inclusion of <curses.h> may make visible all symbols
-from the headers <stdio.h>, <term.h>, <termios.h>, and <wchar.h>.
+The inclusion of
+.I \%curses.h
+may make visible all symbols from the headers
+.IR \%stdio.h ,
+.IR \%term.h ,
+.IR \%termios.h ,
+and
+.IR \%wchar.h .
.RE
.PP
-Here is a more complete story:
+but does not finish the story.
+A more complete account follows.
.bP
-Starting with BSD curses, all implementations have included <stdio.h>.
+Starting with 4BSD
+.I curses
+(1980)
+all implementations have provided a
+.I \%curses.h
+file.
.IP
-BSD curses included <curses.h> and <unctrl.h> from an internal header
-file
-.I \%curses.ext
-(\*(``ext\*('' abbreviated \*(``externs\*('').
+BSD
+.I curses
+code included
+.I \%curses.h
+and
+.I \%unctrl.h
+from an internal header file
+.IR \%curses.ext ,
+where
+\*(``ext\*('' abbreviated \*(``externs\*(''.
.IP
-BSD curses used <stdio.h> internally (for \fBprintw\fP and \fBscanw\fP),
-but nothing in <curses.h> itself relied upon <stdio.h>.
+The implementations of
+.I \%printw
+and
+.I \%scanw
+used undocumented internal functions of the standard I/O library
+.RI ( _doprnt
+and
+.IR _doscan ),
+but nothing in
+.I \%curses.h
+itself relied upon
+.IR \%stdio.h .
.bP
-SVr2 curses added \fBnewterm\fP(3X), which relies upon <stdio.h>.
-That is, the function prototype uses \fBFILE\fP.
+SVr2
+.I curses
+added
+.IR \%newterm ,
+which relies upon
+.I \%stdio.h
+because its function prototype employs the
+.I FILE
+type.
.IP
-SVr4 curses added \fBputwin\fP and \fBgetwin\fP, which also use <stdio.h>.
+SVr4
+.I curses
+added
+.I \%putwin
+and
+.IR \%getwin ,
+which also use
+.IR \%stdio.h .
.IP
-X/Open Curses documents all three of these functions.
+X/Open Curses specifies all three of these functions.
.IP
-SVr4 curses and X/Open Curses do not require the developer to
-include <stdio.h> before including <curses.h>.
-Both document curses showing <curses.h> as the only required header.
+SVr4
+.I curses
+and X/Open Curses do not require the developer to include
+.I \%stdio.h
+before
+.IR \%curses.h .
+Both document use of
+.I curses
+as requiring only
+.IR \%curses.h .
.IP
-As a result, standard <curses.h> will always include <stdio.h>.
+As a result,
+standard
+.I \%curses.h
+always includes
+.IR \%stdio.h .
.bP
-X/Open Curses is inconsistent with respect to SVr4 regarding <unctrl.h>.
+X/Open Curses and SVr4
+.I curses
+are inconsistent with respect to
+.IR \%unctrl.h .
.IP
As noted in \fBcurs_util\fP(3X),
-\fI\%ncurses\fP includes <unctrl.h> from <curses.h>
-(like SVr4).
+.I \%ncurses
+includes
+.I \%unctrl.h
+from
+.I \%curses.h
+(as SVr4 does).
.bP
-X/Open's comments about <term.h> and <termios.h> may refer to HP-UX and AIX:
+X/Open Curses's comments about
+.I \%term.h
+and
+.I \%termios.h
+may refer to HP-UX and AIX.
.IP
-HP-UX curses includes <term.h> from <curses.h>
-to declare \fBsetupterm\fP in curses.h,
-but \fI\%ncurses\fP (and Solaris curses) do not.
+HP-UX
+.I curses
+includes
+.I \%term.h
+from
+.I \%curses.h
+to declare
+.I \%setupterm
+in
+.IR \%curses.h ,
+but
+.I \%ncurses
+and Solaris
+.I curses
+do not.
.IP
-AIX curses includes <term.h> and <termios.h>.
-Again, \fI\%ncurses\fP (and Solaris curses) do not.
+AIX
+.I curses
+includes
+.I \%term.h
+and
+.IR \% termios.h .
+Again,
+.I \%ncurses
+and Solaris
+.I curses
+do not.
.bP
-X/Open says that <curses.h> \fImay\fP include <term.h>,
-but there is no requirement that it do that.
+X/Open Curses says that
+.I \%curses.h
+.B may
+include
+.IR \%term.h ,
+but does not require it to do so.
.IP
-Some programs use functions declared in both <curses.h> and <term.h>,
-and must include both headers in the same module.
-Very old versions of AIX curses required including <curses.h>
-before including <term.h>.
+Some programs use functions declared in both
+.I \%curses.h
+and
+.IR \%term.h ,
+and must include both header files in the same module.
+Very old versions of AIX
+.I curses
+required inclusion of
+.I \%curses.h
+before
+.IR \%term.h .
.IP
-Because \fI\%ncurses\fP header files include the headers needed to
-define datatypes used in the headers,
-\fI\%ncurses\fP header files can be included in any order.
-But for portability, you should include <curses.h> before <term.h>.
+The header files supplied by
+.I \%ncurses
+include the standard library headers required for its declarations,
+so
+.IR \%ncurses 's
+own header files can be included in any order.
+But for portability,
+you should include
+.I \%curses.h
+before
+.IR \%term.h .
.bP
-X/Open Curses says \fI"may make visible"\fP
-because including a header file does not necessarily make all symbols
-in it visible (there are ifdef's to consider).
+X/Open Curses says \*(``may make visible\*('' because including a header
+file does not necessarily make visible all of the symbols in it
+(consider
+.B \%#ifdef
+and similar).
.IP
-For instance, in \fI\%ncurses\fP <wchar.h> \fImay\fP be included if
-the proper symbol is defined, and if \fI\%ncurses\fP is configured for
-wide-character support.
-If the header is included, its symbols may be made visible.
-That depends on the value used for \fB_XOPEN_SOURCE\fP
+For instance,
+.IR \%ncurses 's
+.I \%curses.h
+.B may \" bold to contrast with preceding italic
+include
+.I \%wchar.h
+if the proper symbol is defined,
+and if
+.I \%ncurses
+is configured for wide-character support.
+If
+.I \%wchar.h
+is included,
+its symbols
+.B may \" bold for consistency in this paragraph
+be made visible depending on the value of the
+.B _XOPEN_SOURCE
feature test macro.
.bP
-X/Open Curses documents one required header,
-in a special case: <stdarg.h> before <curses.h> to prototype
-the \fBvw_printw\fP and \fBvw_scanw\fP functions
+X/Open Curses mandates an application's inclusion of one standard C
+library header in a special case:
+.I \%stdarg.h
+before
+.I \%curses.h
+to prototype the functions
+.I \%vw_printw
+and
+.I \%vw_scanw
(as well as the obsolete
-the \fBvwprintw\fP and \fBvwscanw\fP functions).
-Each of those uses a \fBva_list\fP parameter.
+.I \%vwprintw
+and
+.IR \%vwscanw ).
+Each of these takes a variadic argument list,
+a
+.I \%va_list
+parameter,
+like that of \fI\%printf\fP(3).
.IP
-The two obsolete functions were introduced in SVr3.
-The other functions were introduced in X/Open Curses.
-In between, SVr4 curses provided for the possibility that
-an application might include either <varargs.h> or <stdarg.h>.
-Initially, that was done by using \fBvoid*\fP for the \fBva_list\fP
+SVr3
+.I curses
+introduced
+the two obsolete functions,
+and X/Open Curses the others.
+In between,
+SVr4
+.I curses
+provided for the possibility that an application might include either
+.I \%varargs.h
+or
+.IR \%stdarg.h .
+These represented contrasting approaches to handling variadic
+argument lists.
+The older interface,
+.IR \%varargs.h ,
+used a pointer to
+.I char \" V7, 32V, System III, 3BSD
+for variadic functions'
+.I \%va_list
parameter.
-Later, a special type (defined in <stdio.h>) was introduced,
-to allow for compiler type-checking.
-That special type is always available,
-because <stdio.h> is always included by <curses.h>.
+Later,
+the list acquired its own standard data type,
+.IR \%va_list ,
+defined in
+.IR \%stdarg.h ,
+empowering the compiler to check the types of a function call's actual
+parameters against the formal ones declared in its prototype.
.IP
-None of the X/Open Curses implementations require an application
-to include <stdarg.h> before <curses.h> because they either
-have allowed for a special type,
-or
-(like \fI\%ncurses\fP)
-include <stdarg.h> directly to provide a portable interface.
+No conforming implementations of X/Open Curses require an application
+to include
+.I \%stdarg.h
+before
+.I \%curses.h
+because they either have allowed for a special type,
+or,
+like
+.IR \%ncurses ,
+they include
+.I \%stdarg.h
+themselves to provide a portable interface.
.SH AUTHORS
-Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
-Based on \fIpcurses\fP by Pavel Curtis.
+Zeyd M. Ben-Halim,
+Eric S. Raymond,
+Thomas E. Dickey.
+Based on
+.I \%pcurses
+by Pavel Curtis.
.SH SEE ALSO
\fB\%curs_variables\fP(3X),
\fB\%terminfo\fP(5),
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tabs.1,v 1.57 2024/03/16 15:35:01 tom Exp $
-.TH @TABS@ 1 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: tabs.1,v 1.59 2024/04/20 19:08:15 tom Exp $
+.TH @TABS@ 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
(later the same year);
it supported a \*(``\-n\*('' option to set the first tab stop at the
left margin.
-That option is not documented by POSIX.
+That option is not specified by POSIX.
.PP
The PWB/Unix
.B tabs
utility returned in System III (1980),
-and used built-in tables,
-rather than the terminal database,
+and used built-in tables
to support a half-dozen hardcopy terminal (printer) types.
-It also had built-in logic to support setting the left margin,
+It also had logic to support setting the left margin,
as well as a feature for copying the tab settings from a file.
.PP
Versions of the program in later releases of AT&T Unix,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: term.5,v 1.75 2024/03/16 15:35:01 tom Exp $
-.TH term 5 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: term.5,v 1.77 2024/04/20 21:24:19 tom Exp $
+.TH term 5 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
are at least three versions of terminfo (under HP\-UX, AIX, and OSF/1) which
diverged from System V terminfo after SVr1, and have added extension
capabilities to the string table that (in the binary format) collide with
-System V and XSI Curses extensions.
+System V and X/Open Curses extensions.
See \fBterminfo\fP(5) for detailed
discussion of terminfo source compatibility issues.
.PP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.head,v 1.63 2024/01/13 23:07:27 tom Exp $
-.TH terminfo 5 2024-01-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.\" $Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp $
+.TH terminfo 5 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
have, by specifying how to perform screen operations, and by
specifying padding requirements and initialization sequences.
.PP
-This manual describes \fI\%ncurses\fP
-version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).
+This document describes
+.I \%ncurses
+version @NCURSES_MAJOR@.@NCURSES_MINOR@
+(patch @NCURSES_PATCH@).
.SS "\fIterminfo\fP Entry Syntax"
Entries in
.I terminfo
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: terminfo.tail,v 1.144 2024/03/02 14:36:39 tom Exp $
+.\" $Id: terminfo.tail,v 1.148 2024/04/20 21:24:19 tom Exp $
.ps +1
.SS "User-Defined Capabilities"
.
If the data scrolled
off the bottom of the region by the \fBri\fP re-appears, then scrolling
is non-destructive.
-System V and XSI Curses expect that \fBind\fP, \fBri\fP,
+System V and X/Open Curses expect that \fBind\fP, \fBri\fP,
\fBindn\fP, and \fBrin\fP will simulate destructive scrolling; their
documentation cautions you not to define \fBcsr\fP unless this is true.
This \fBcurses\fP implementation is more liberal and will do explicit erases
.SS "Insert/Delete Character"
There are two basic kinds of intelligent terminals with respect to
insert/delete character which can be described using
-.I terminfo.
+.IR terminfo .
The most common insert/delete character operations affect only the characters
on the current line and shift characters off the end of the line rigidly.
Other terminals, such as the Concept 100 and the Perkin Elmer Owl, make
with one parameter,
.IR n ,
to delete
-.I n characters,
+.IR n "characters,"
and delete mode by giving \fBsmdc\fP and \fBrmdc\fP
to enter and exit delete mode (any mode the terminal needs to be placed
in for
the \fBInsert/Delete Character\fP subsection above.
.PP
The parameter substitutions for \fBset_clock\fP and \fBdisplay_clock\fP are
-not documented in SVr4 or the XSI Curses standard.
+not documented in SVr4 or X/Open Curses.
They are deduced from the
documentation for the AT&T 505 terminal.
.PP
then the \fBncv\fP value must be specified, even if it is zero.
.PP
Different commercial ports of \fI\%terminfo\fP and \fIcurses\fP support
-different subsets of XSI Curses and
+different subsets of X/Open Curses and
(in some cases)
different extensions.
Here is a summary,
diverged from those of other System V Unices after SVr1,
adding extension capabilities to the string table that
(in the binary format)
-collide with subsequent System V and XSI Curses extensions.
+collide with subsequent System V and X/Open Curses extensions.
.SH AUTHORS
Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
Based on \fIpcurses\fP by Pavel Curtis.
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tic.1m,v 1.108 2024/03/16 15:35:01 tom Exp $
-.TH @TIC@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: tic.1m,v 1.110 2024/04/27 17:57:06 tom Exp $
+.TH @TIC@ 1M 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
tells \fB@TIC@\fP to discard commented-out capabilities.
Normally when translating from terminfo to termcap,
untranslatable capabilities are commented-out.
-.TP 5
+.TP
\fB\-U\fP
tells \fB@TIC@\fP to not post-process the data after parsing the source file.
Normally, it infers data which is commonly missing in older terminfo data,
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: toe.1m,v 1.66 2024/03/16 15:35:01 tom Exp $
-.TH @TOE@ 1M 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: toe.1m,v 1.68 2024/04/20 18:59:26 tom Exp $
+.TH @TOE@ 1M 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
would search,
instead of only the first that it finds.
.IP
-If the \fB\-s\fP option is also given,
-\fB\%@TOE@\fP adds a column to the report,
-showing (like \fB\%conflict\fP(1)) which entries belong to a given
-terminal database.
+If
+.B \-s
+is also given,
+\fB\%@TOE@\fP
+additionally reports,
+like \fI\%conflict\fP(1),
+which entries correspond to a given terminal database.
An \*(``*\*('' marks entries that differ,
and \*(``+\*('' marks equivalent entries.
.IP
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tput.1,v 1.111 2024/04/13 22:09:53 tom Exp $
-.TH @TPUT@ 1 2024-04-13 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: tput.1,v 1.113 2024/04/20 19:58:50 tom Exp $
+.TH @TPUT@ 1 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
.I cap-code
indicates a capability from the terminal database.
.IP
-If the capability is of string type and takes parameters,
-the arguments following the capability will be used as its parameters.
+If
+.I cap-code
+is of string type and takes parameters,
+\fB\%@TPUT@\fP interprets arguments following
+.I cap-code
+as the parameters,
+up to the (fixed) quantity the capability requires.
.IP
Most parameters are numeric.
Only a few terminal capabilities require string parameters;
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: tset.1,v 1.81 2024/03/16 15:35:01 tom Exp $
-.TH @TSET@ 1 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
+.\" $Id: tset.1,v 1.85 2024/04/27 17:57:47 tom Exp $
+.TH @TSET@ 1 2024-04-27 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "User commands"
.ie \n(.g \{\
.ds `` \(lq
.ds '' \(rq
size from the operating system.
.bP
In \fI\%ncurses\fP, \fB@TSET@\fP obtains the window size using
-\fBsetupterm\fP, which may be from
+\fB\%setupterm\fP(3X), which may be from
the operating system,
the \fILINES\fP and \fICOLUMNS\fP environment variables or
the terminal description.
.PP
-Obtaining the window size from the terminal description is common to
-both implementations, but considered obsolescent.
+Obtaining the window size from a terminal's type description is common
+to both implementations,
+but considered obsolescent.
Its only practical use is for hardware terminals.
-Generally speaking, a window size would be unset only if there were
-some problem obtaining the value from the operating system
-(and \fBsetupterm\fP would still fail).
-For that reason,
-the \fILINES\fP and \fI\%COLUMNS\fP environment variables
-may be useful for working around window-size problems.
-Those have the drawback that if the window is resized,
-those variables must be recomputed and reassigned.
-To do this more easily, use the \fBresize\fP(1) program.
+Generally,
+the window size will remain uninitialized only if there were a problem
+obtaining the value from the operating system
+(and \fB\%setupterm\fP would still fail).
+The \fILINES\fP and \fI\%COLUMNS\fP environment variables
+may thus be useful for working around window-size problems,
+but have the drawback that if the window is resized,
+their values must be recomputed and reassigned.
+The \fI\%resize\fP(1) program distributed with
+\fI\%xterm\fP(1) assists this activity.
.SH HISTORY
A \fB\%reset\fP command written by Kurt Shoens appeared in 1BSD
(March 1978).
/****************************************************************************
- * Copyright 2020,2021 Thomas E. Dickey *
+ * Copyright 2020-2021,2024 Thomas E. Dickey *
* Copyright 1998-2015,2016 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#define CUR SP_TERMTYPE
#endif
-MODULE_ID("$Id: resizeterm.c,v 1.52 2021/10/23 17:12:33 tom Exp $")
+MODULE_ID("$Id: resizeterm.c,v 1.53 2024/04/20 21:54:14 tom Exp $")
/*
* If we're trying to be reentrant, do not want any local statics.
#ifdef USE_TERM_DRIVER
CallDriver_2(SP_PARM, td_setsize, ToLines, ToCols);
#else
- lines = (NCURSES_SIZE_T) ToLines;
- columns = (NCURSES_SIZE_T) ToCols;
+ lines = (NCURSES_INT2) ToLines;
+ columns = (NCURSES_INT2) ToCols;
#endif
SP_PARM->_lines_avail = (NCURSES_SIZE_T) (ToLines - was_stolen);
****************************************************************************/
/*
- * $Id: curses.priv.h,v 1.686 2024/04/13 18:59:05 tom Exp $
+ * $Id: curses.priv.h,v 1.688 2024/05/04 18:30:25 tom Exp $
*
* curses.priv.h
*
#ifndef PRIxPTR
# define PRIxPTR "lx"
+# undef CASTxPTR
# define CASTxPTR(n) (long)(void*)(n)
#endif
#if defined(_NC_WINDOWS) || defined(_NC_MINGW)
/* see wcwidth.c */
-extern NCURSES_EXPORT(int) mk_wcwidth(wchar_t);
+extern NCURSES_EXPORT(int) mk_wcwidth(uint32_t);
#define wcwidth(ucs) _nc_wcwidth(ucs)
#endif
#include <locale.h>
#endif
-MODULE_ID("$Id: lib_setup.c,v 1.239 2024/04/14 17:03:40 tom Exp $")
+MODULE_ID("$Id: lib_setup.c,v 1.240 2024/04/20 17:04:05 tom Exp $")
/****************************************************************************
*
bool useEnv = _nc_prescreen.use_env;
bool useTioctl = _nc_prescreen.use_tioctl;
- T((T_CALLED("_nc_get_screensize (%p)"), sp));
+ T((T_CALLED("_nc_get_screensize (%p)"), (void *) sp));
#ifdef EXP_WIN32_DRIVER
/* If we are here, then Windows console is used in terminfo mode.
We need to figure out the size using the console API
/****************************************************************************
- * Copyright 2018-2022,2023 Thomas E. Dickey *
+ * Copyright 2018-2023,2024 Thomas E. Dickey *
* Copyright 1998-2016,2017 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
#include <tic.h>
-MODULE_ID("$Id: write_entry.c,v 1.131 2023/09/16 16:28:36 tom Exp $")
+MODULE_ID("$Id: write_entry.c,v 1.132 2024/04/20 17:58:51 tom Exp $")
#if 1
#define TRACE_OUT(p) DEBUG(2, p)
sizeof(buffer) - 1);
data.size = name_size + 1;
- total_size += data.size;
+ total_size += (int) data.size;
total_parts++;
_nc_db_put(capdb, &key, &data);
key.data = ptr;
key.size = strlen(ptr);
- total_size += data.size;
+ total_size += (int) data.size;
total_parts++;
_nc_db_put(capdb, &key, &data);
}
+/* $Id: wcwidth.h,v 1.6 2024/05/04 18:44:25 tom Exp $ */
+
/*
+ * Copyright 2002-2023,2024 by Thomas E. Dickey
+ *
+ * All Rights Reserved
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+ * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
+ * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ *
+ * Except as contained in this notice, the name(s) of the above copyright
+ * holders shall not be used in advertising or otherwise to promote the
+ * sale, use or other dealings in this Software without prior written
+ * authorization.
+ *-----------------------------------------------------------------------------
+ * This is an updated version of Markus Kuhn's implementation of wcwidth.
+ *
+ * Originally added to xterm in 2000 (patch #141), there were a couple of
+ * updates from Kuhn until 2005 (patch #202), renaming entrypoints and applying
+ * data from Unicode.org (e.g., 3.2, 4.0, 4.1.0). The Unicode data is
+ * transformed into tables in this file by a script "uniset" written by Kuhn.
+ *
+ * While Kuhn implemented the original CJK variant, it was unused by xterm
+ * until Jungshik Shin used it in 2002 to implement the -cjk_width command-line
+ * option.
+ *
+ * Kuhn added a check for the vertical forms block (double-width) in 2007;
+ * other updates were derived from the Unicode.org data (release 5.0).
+ *
+ * Since then, additional updates have been made:
+ * + data-type fixes
+ * + new Unicode releases (6.2.0, 9.0.0, etc),
+ * + additional special symbol blocks have been added to the special cases.
+ * + soft-hyphen behavior has been made configurable.
+ * + added table shows when a character is not part of Unicode.
+ *
+ * Kuhn's original header follows giving the design information:
+ *-----------------------------------------------------------------------------
* This is an implementation of wcwidth() and wcswidth() (defined in
* IEEE Std 1002.1-2001) for Unicode.
*
*
* http://www.unicode.org/unicode/reports/tr11/
*
- * Markus Kuhn -- 2007-05-26 (Unicode 5.0)
+ * Markus Kuhn -- 2007-05-25 (Unicode 5.0)
*
* Permission to use, copy, modify, and distribute this software
* for any purpose and without fee is hereby granted. The author
* disclaims all warranties with regard to this software.
*
* Latest version: http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
+ *-----------------------------------------------------------------------------
*/
#ifndef _WCWIDTH_H_incl
#include <wchar.h>
struct interval {
- int first;
- int last;
+ unsigned long first;
+ unsigned long last;
};
+static int use_latin1 = 1;
+
/* auxiliary function for binary search in interval table */
-static int bisearch(wchar_t ucs, const struct interval *table, int max) {
- int min = 0;
- int mid;
-
- if (ucs < table[0].first || ucs > table[max].last)
- return 0;
- while (max >= min) {
- mid = (min + max) / 2;
- if (ucs > table[mid].last)
- min = mid + 1;
- else if (ucs < table[mid].first)
- max = mid - 1;
- else
- return 1;
+static int bisearch(unsigned long ucs, const struct interval *table, int max)
+{
+
+ if (ucs >= table[0].first && ucs <= table[max].last) {
+ int min = 0;
+
+ while (max >= min) {
+ int mid;
+
+ mid = (min + max) / 2;
+ if (ucs > table[mid].last)
+ min = mid + 1;
+ else if (ucs < table[mid].first)
+ max = mid - 1;
+ else
+ return 1;
+ }
}
return 0;
}
+/*
+ * Provide a way to change the behavior of soft-hyphen.
+ */
+NCURSES_EXPORT(void) mk_wcwidth_init(int mode)
+{
+ use_latin1 = (mode == 0);
+}
/* The following two functions define the column width of an ISO 10646
* character as follows:
* category code Mn or Me in the Unicode database) have a
* column width of 0.
*
- * - SOFT HYPHEN (U+00AD) has a column width of 1.
+ * - A few spacing combining marks have a column width of 0.
+ *
+ * - SOFT HYPHEN (U+00AD) has a column width of 1 in Latin-1, 0 in Unicode.
+ * An initialization function is used to switch between the two.
*
* - Other format characters (general category code Cf in the Unicode
* database) and ZERO WIDTH SPACE (U+200B) have a column width of 0.
* - Hangul Jamo medial vowels and final consonants (U+1160-U+11FF)
* have a column width of 0.
*
+ * - Hangul Jamo Extended-B medial vowels and final consonants for old
+ * Korean (U+D7B0-U+D7FF) have a column width of 0.
+ *
* - Spacing characters in the East Asian Wide (W) or East Asian
* Full-width (F) category as defined in Unicode Technical
- * Report #11 have a column width of 2.
+ * Report #11 have a column width of 2. In that report, some codes
+ * were unassigned. Characters in these blocks use a column width of 1:
+ * 4DC0..4DFF; Yijing Hexagram Symbols
+ * A960..A97F; Hangul Jamo Extended-A
*
* - All remaining characters (including all printable
* ISO 8859-1 and WGL4 characters, Unicode control characters,
* etc.) have a column width of 1.
*
+ * - Codes which do not correspond to a Unicode character have a column
+ * width of -1.
+ *
* This implementation assumes that wchar_t characters are encoded
* in ISO 10646.
*/
-NCURSES_EXPORT(int) mk_wcwidth(wchar_t ucs)
+NCURSES_EXPORT(int) mk_wcwidth(uint32_t ucs)
{
+ unsigned long cmp = (unsigned long) ucs;
+
+ /* sorted list of non-overlapping intervals of formatting characters */
+ /* generated by
+ * uniset +cat=Cf -00AD -0600-0605 -061C -06DD -070F c
+ */
+ /* *INDENT-OFF* */
+ /* generated by run-uniset_ctl 1.1 */
+ static const struct interval formatting[] = {
+ { 0x0890, 0x0891 }, { 0x08E2, 0x08E2 }, { 0x180E, 0x180E },
+ { 0x200B, 0x200F }, { 0x202A, 0x202E }, { 0x2060, 0x2064 },
+ { 0x2066, 0x206F }, { 0xFEFF, 0xFEFF }, { 0xFFF9, 0xFFFB },
+ { 0x110BD, 0x110BD }, { 0x110CD, 0x110CD }, { 0x13430, 0x1343F },
+ { 0x1BCA0, 0x1BCA3 }, { 0x1D173, 0x1D17A }, { 0xE0001, 0xE0001 },
+ { 0xE0020, 0xE007F }
+ };
+ /* *INDENT-OFF* */
+
/* sorted list of non-overlapping intervals of non-spacing characters */
- /* generated by "uniset +cat=Me +cat=Mn +cat=Cf -00AD +1160-11FF +200B c" */
+ /* generated by
+ * uniset +cat=Me +cat=Mn +0600-0605 +061C +06DD +070F +1160-11FF +D7B0-D7C6 +D7CB-D7FB c
+ */
+ /* *INDENT-OFF* */
+ /* generated by run-uniset 1.9 */
static const struct interval combining[] = {
- { 0x0300, 0x036F }, { 0x0483, 0x0486 }, { 0x0488, 0x0489 },
- { 0x0591, 0x05BD }, { 0x05BF, 0x05BF }, { 0x05C1, 0x05C2 },
- { 0x05C4, 0x05C5 }, { 0x05C7, 0x05C7 }, { 0x0600, 0x0603 },
- { 0x0610, 0x0615 }, { 0x064B, 0x065E }, { 0x0670, 0x0670 },
- { 0x06D6, 0x06E4 }, { 0x06E7, 0x06E8 }, { 0x06EA, 0x06ED },
- { 0x070F, 0x070F }, { 0x0711, 0x0711 }, { 0x0730, 0x074A },
- { 0x07A6, 0x07B0 }, { 0x07EB, 0x07F3 }, { 0x0901, 0x0902 },
- { 0x093C, 0x093C }, { 0x0941, 0x0948 }, { 0x094D, 0x094D },
- { 0x0951, 0x0954 }, { 0x0962, 0x0963 }, { 0x0981, 0x0981 },
- { 0x09BC, 0x09BC }, { 0x09C1, 0x09C4 }, { 0x09CD, 0x09CD },
- { 0x09E2, 0x09E3 }, { 0x0A01, 0x0A02 }, { 0x0A3C, 0x0A3C },
- { 0x0A41, 0x0A42 }, { 0x0A47, 0x0A48 }, { 0x0A4B, 0x0A4D },
- { 0x0A70, 0x0A71 }, { 0x0A81, 0x0A82 }, { 0x0ABC, 0x0ABC },
- { 0x0AC1, 0x0AC5 }, { 0x0AC7, 0x0AC8 }, { 0x0ACD, 0x0ACD },
- { 0x0AE2, 0x0AE3 }, { 0x0B01, 0x0B01 }, { 0x0B3C, 0x0B3C },
- { 0x0B3F, 0x0B3F }, { 0x0B41, 0x0B43 }, { 0x0B4D, 0x0B4D },
- { 0x0B56, 0x0B56 }, { 0x0B82, 0x0B82 }, { 0x0BC0, 0x0BC0 },
- { 0x0BCD, 0x0BCD }, { 0x0C3E, 0x0C40 }, { 0x0C46, 0x0C48 },
- { 0x0C4A, 0x0C4D }, { 0x0C55, 0x0C56 }, { 0x0CBC, 0x0CBC },
- { 0x0CBF, 0x0CBF }, { 0x0CC6, 0x0CC6 }, { 0x0CCC, 0x0CCD },
- { 0x0CE2, 0x0CE3 }, { 0x0D41, 0x0D43 }, { 0x0D4D, 0x0D4D },
+ { 0x0300, 0x036F }, { 0x0483, 0x0489 }, { 0x0591, 0x05BD },
+ { 0x05BF, 0x05BF }, { 0x05C1, 0x05C2 }, { 0x05C4, 0x05C5 },
+ { 0x05C7, 0x05C7 }, { 0x0600, 0x0605 }, { 0x0610, 0x061A },
+ { 0x061C, 0x061C }, { 0x064B, 0x065F }, { 0x0670, 0x0670 },
+ { 0x06D6, 0x06DD }, { 0x06DF, 0x06E4 }, { 0x06E7, 0x06E8 },
+ { 0x06EA, 0x06ED }, { 0x070F, 0x070F }, { 0x0711, 0x0711 },
+ { 0x0730, 0x074A }, { 0x07A6, 0x07B0 }, { 0x07EB, 0x07F3 },
+ { 0x07FD, 0x07FD }, { 0x0816, 0x0819 }, { 0x081B, 0x0823 },
+ { 0x0825, 0x0827 }, { 0x0829, 0x082D }, { 0x0859, 0x085B },
+ { 0x0898, 0x089F }, { 0x08CA, 0x08E1 }, { 0x08E3, 0x0902 },
+ { 0x093A, 0x093A }, { 0x093C, 0x093C }, { 0x0941, 0x0948 },
+ { 0x094D, 0x094D }, { 0x0951, 0x0957 }, { 0x0962, 0x0963 },
+ { 0x0981, 0x0981 }, { 0x09BC, 0x09BC }, { 0x09C1, 0x09C4 },
+ { 0x09CD, 0x09CD }, { 0x09E2, 0x09E3 }, { 0x09FE, 0x09FE },
+ { 0x0A01, 0x0A02 }, { 0x0A3C, 0x0A3C }, { 0x0A41, 0x0A42 },
+ { 0x0A47, 0x0A48 }, { 0x0A4B, 0x0A4D }, { 0x0A51, 0x0A51 },
+ { 0x0A70, 0x0A71 }, { 0x0A75, 0x0A75 }, { 0x0A81, 0x0A82 },
+ { 0x0ABC, 0x0ABC }, { 0x0AC1, 0x0AC5 }, { 0x0AC7, 0x0AC8 },
+ { 0x0ACD, 0x0ACD }, { 0x0AE2, 0x0AE3 }, { 0x0AFA, 0x0AFF },
+ { 0x0B01, 0x0B01 }, { 0x0B3C, 0x0B3C }, { 0x0B3F, 0x0B3F },
+ { 0x0B41, 0x0B44 }, { 0x0B4D, 0x0B4D }, { 0x0B55, 0x0B56 },
+ { 0x0B62, 0x0B63 }, { 0x0B82, 0x0B82 }, { 0x0BC0, 0x0BC0 },
+ { 0x0BCD, 0x0BCD }, { 0x0C00, 0x0C00 }, { 0x0C04, 0x0C04 },
+ { 0x0C3C, 0x0C3C }, { 0x0C3E, 0x0C40 }, { 0x0C46, 0x0C48 },
+ { 0x0C4A, 0x0C4D }, { 0x0C55, 0x0C56 }, { 0x0C62, 0x0C63 },
+ { 0x0C81, 0x0C81 }, { 0x0CBC, 0x0CBC }, { 0x0CBF, 0x0CBF },
+ { 0x0CC6, 0x0CC6 }, { 0x0CCC, 0x0CCD }, { 0x0CE2, 0x0CE3 },
+ { 0x0D00, 0x0D01 }, { 0x0D3B, 0x0D3C }, { 0x0D41, 0x0D44 },
+ { 0x0D4D, 0x0D4D }, { 0x0D62, 0x0D63 }, { 0x0D81, 0x0D81 },
{ 0x0DCA, 0x0DCA }, { 0x0DD2, 0x0DD4 }, { 0x0DD6, 0x0DD6 },
{ 0x0E31, 0x0E31 }, { 0x0E34, 0x0E3A }, { 0x0E47, 0x0E4E },
- { 0x0EB1, 0x0EB1 }, { 0x0EB4, 0x0EB9 }, { 0x0EBB, 0x0EBC },
- { 0x0EC8, 0x0ECD }, { 0x0F18, 0x0F19 }, { 0x0F35, 0x0F35 },
- { 0x0F37, 0x0F37 }, { 0x0F39, 0x0F39 }, { 0x0F71, 0x0F7E },
- { 0x0F80, 0x0F84 }, { 0x0F86, 0x0F87 }, { 0x0F90, 0x0F97 },
- { 0x0F99, 0x0FBC }, { 0x0FC6, 0x0FC6 }, { 0x102D, 0x1030 },
- { 0x1032, 0x1032 }, { 0x1036, 0x1037 }, { 0x1039, 0x1039 },
- { 0x1058, 0x1059 }, { 0x1160, 0x11FF }, { 0x135F, 0x135F },
- { 0x1712, 0x1714 }, { 0x1732, 0x1734 }, { 0x1752, 0x1753 },
- { 0x1772, 0x1773 }, { 0x17B4, 0x17B5 }, { 0x17B7, 0x17BD },
- { 0x17C6, 0x17C6 }, { 0x17C9, 0x17D3 }, { 0x17DD, 0x17DD },
- { 0x180B, 0x180D }, { 0x18A9, 0x18A9 }, { 0x1920, 0x1922 },
- { 0x1927, 0x1928 }, { 0x1932, 0x1932 }, { 0x1939, 0x193B },
- { 0x1A17, 0x1A18 }, { 0x1B00, 0x1B03 }, { 0x1B34, 0x1B34 },
- { 0x1B36, 0x1B3A }, { 0x1B3C, 0x1B3C }, { 0x1B42, 0x1B42 },
- { 0x1B6B, 0x1B73 }, { 0x1DC0, 0x1DCA }, { 0x1DFE, 0x1DFF },
- { 0x200B, 0x200F }, { 0x202A, 0x202E }, { 0x2060, 0x2063 },
- { 0x206A, 0x206F }, { 0x20D0, 0x20EF }, { 0x302A, 0x302F },
- { 0x3099, 0x309A }, { 0xA806, 0xA806 }, { 0xA80B, 0xA80B },
- { 0xA825, 0xA826 }, { 0xFB1E, 0xFB1E }, { 0xFE00, 0xFE0F },
- { 0xFE20, 0xFE23 }, { 0xFEFF, 0xFEFF }, { 0xFFF9, 0xFFFB },
- { 0x10A01, 0x10A03 }, { 0x10A05, 0x10A06 }, { 0x10A0C, 0x10A0F },
- { 0x10A38, 0x10A3A }, { 0x10A3F, 0x10A3F }, { 0x1D167, 0x1D169 },
- { 0x1D173, 0x1D182 }, { 0x1D185, 0x1D18B }, { 0x1D1AA, 0x1D1AD },
- { 0x1D242, 0x1D244 }, { 0xE0001, 0xE0001 }, { 0xE0020, 0xE007F },
+ { 0x0EB1, 0x0EB1 }, { 0x0EB4, 0x0EBC }, { 0x0EC8, 0x0ECE },
+ { 0x0F18, 0x0F19 }, { 0x0F35, 0x0F35 }, { 0x0F37, 0x0F37 },
+ { 0x0F39, 0x0F39 }, { 0x0F71, 0x0F7E }, { 0x0F80, 0x0F84 },
+ { 0x0F86, 0x0F87 }, { 0x0F8D, 0x0F97 }, { 0x0F99, 0x0FBC },
+ { 0x0FC6, 0x0FC6 }, { 0x102D, 0x1030 }, { 0x1032, 0x1037 },
+ { 0x1039, 0x103A }, { 0x103D, 0x103E }, { 0x1058, 0x1059 },
+ { 0x105E, 0x1060 }, { 0x1071, 0x1074 }, { 0x1082, 0x1082 },
+ { 0x1085, 0x1086 }, { 0x108D, 0x108D }, { 0x109D, 0x109D },
+ { 0x1160, 0x11FF }, { 0x135D, 0x135F }, { 0x1712, 0x1714 },
+ { 0x1732, 0x1733 }, { 0x1752, 0x1753 }, { 0x1772, 0x1773 },
+ { 0x17B4, 0x17B5 }, { 0x17B7, 0x17BD }, { 0x17C6, 0x17C6 },
+ { 0x17C9, 0x17D3 }, { 0x17DD, 0x17DD }, { 0x180B, 0x180D },
+ { 0x180F, 0x180F }, { 0x1885, 0x1886 }, { 0x18A9, 0x18A9 },
+ { 0x1920, 0x1922 }, { 0x1927, 0x1928 }, { 0x1932, 0x1932 },
+ { 0x1939, 0x193B }, { 0x1A17, 0x1A18 }, { 0x1A1B, 0x1A1B },
+ { 0x1A56, 0x1A56 }, { 0x1A58, 0x1A5E }, { 0x1A60, 0x1A60 },
+ { 0x1A62, 0x1A62 }, { 0x1A65, 0x1A6C }, { 0x1A73, 0x1A7C },
+ { 0x1A7F, 0x1A7F }, { 0x1AB0, 0x1ACE }, { 0x1B00, 0x1B03 },
+ { 0x1B34, 0x1B34 }, { 0x1B36, 0x1B3A }, { 0x1B3C, 0x1B3C },
+ { 0x1B42, 0x1B42 }, { 0x1B6B, 0x1B73 }, { 0x1B80, 0x1B81 },
+ { 0x1BA2, 0x1BA5 }, { 0x1BA8, 0x1BA9 }, { 0x1BAB, 0x1BAD },
+ { 0x1BE6, 0x1BE6 }, { 0x1BE8, 0x1BE9 }, { 0x1BED, 0x1BED },
+ { 0x1BEF, 0x1BF1 }, { 0x1C2C, 0x1C33 }, { 0x1C36, 0x1C37 },
+ { 0x1CD0, 0x1CD2 }, { 0x1CD4, 0x1CE0 }, { 0x1CE2, 0x1CE8 },
+ { 0x1CED, 0x1CED }, { 0x1CF4, 0x1CF4 }, { 0x1CF8, 0x1CF9 },
+ { 0x1DC0, 0x1DFF }, { 0x20D0, 0x20F0 }, { 0x2CEF, 0x2CF1 },
+ { 0x2D7F, 0x2D7F }, { 0x2DE0, 0x2DFF }, { 0x302A, 0x302D },
+ { 0x3099, 0x309A }, { 0xA66F, 0xA672 }, { 0xA674, 0xA67D },
+ { 0xA69E, 0xA69F }, { 0xA6F0, 0xA6F1 }, { 0xA802, 0xA802 },
+ { 0xA806, 0xA806 }, { 0xA80B, 0xA80B }, { 0xA825, 0xA826 },
+ { 0xA82C, 0xA82C }, { 0xA8C4, 0xA8C5 }, { 0xA8E0, 0xA8F1 },
+ { 0xA8FF, 0xA8FF }, { 0xA926, 0xA92D }, { 0xA947, 0xA951 },
+ { 0xA980, 0xA982 }, { 0xA9B3, 0xA9B3 }, { 0xA9B6, 0xA9B9 },
+ { 0xA9BC, 0xA9BD }, { 0xA9E5, 0xA9E5 }, { 0xAA29, 0xAA2E },
+ { 0xAA31, 0xAA32 }, { 0xAA35, 0xAA36 }, { 0xAA43, 0xAA43 },
+ { 0xAA4C, 0xAA4C }, { 0xAA7C, 0xAA7C }, { 0xAAB0, 0xAAB0 },
+ { 0xAAB2, 0xAAB4 }, { 0xAAB7, 0xAAB8 }, { 0xAABE, 0xAABF },
+ { 0xAAC1, 0xAAC1 }, { 0xAAEC, 0xAAED }, { 0xAAF6, 0xAAF6 },
+ { 0xABE5, 0xABE5 }, { 0xABE8, 0xABE8 }, { 0xABED, 0xABED },
+ { 0xD7B0, 0xD7C6 }, { 0xD7CB, 0xD7FB }, { 0xFB1E, 0xFB1E },
+ { 0xFE00, 0xFE0F }, { 0xFE20, 0xFE2F }, { 0x101FD, 0x101FD },
+ { 0x102E0, 0x102E0 }, { 0x10376, 0x1037A }, { 0x10A01, 0x10A03 },
+ { 0x10A05, 0x10A06 }, { 0x10A0C, 0x10A0F }, { 0x10A38, 0x10A3A },
+ { 0x10A3F, 0x10A3F }, { 0x10AE5, 0x10AE6 }, { 0x10D24, 0x10D27 },
+ { 0x10EAB, 0x10EAC }, { 0x10EFD, 0x10EFF }, { 0x10F46, 0x10F50 },
+ { 0x10F82, 0x10F85 }, { 0x11001, 0x11001 }, { 0x11038, 0x11046 },
+ { 0x11070, 0x11070 }, { 0x11073, 0x11074 }, { 0x1107F, 0x11081 },
+ { 0x110B3, 0x110B6 }, { 0x110B9, 0x110BA }, { 0x110C2, 0x110C2 },
+ { 0x11100, 0x11102 }, { 0x11127, 0x1112B }, { 0x1112D, 0x11134 },
+ { 0x11173, 0x11173 }, { 0x11180, 0x11181 }, { 0x111B6, 0x111BE },
+ { 0x111C9, 0x111CC }, { 0x111CF, 0x111CF }, { 0x1122F, 0x11231 },
+ { 0x11234, 0x11234 }, { 0x11236, 0x11237 }, { 0x1123E, 0x1123E },
+ { 0x11241, 0x11241 }, { 0x112DF, 0x112DF }, { 0x112E3, 0x112EA },
+ { 0x11300, 0x11301 }, { 0x1133B, 0x1133C }, { 0x11340, 0x11340 },
+ { 0x11366, 0x1136C }, { 0x11370, 0x11374 }, { 0x11438, 0x1143F },
+ { 0x11442, 0x11444 }, { 0x11446, 0x11446 }, { 0x1145E, 0x1145E },
+ { 0x114B3, 0x114B8 }, { 0x114BA, 0x114BA }, { 0x114BF, 0x114C0 },
+ { 0x114C2, 0x114C3 }, { 0x115B2, 0x115B5 }, { 0x115BC, 0x115BD },
+ { 0x115BF, 0x115C0 }, { 0x115DC, 0x115DD }, { 0x11633, 0x1163A },
+ { 0x1163D, 0x1163D }, { 0x1163F, 0x11640 }, { 0x116AB, 0x116AB },
+ { 0x116AD, 0x116AD }, { 0x116B0, 0x116B5 }, { 0x116B7, 0x116B7 },
+ { 0x1171D, 0x1171F }, { 0x11722, 0x11725 }, { 0x11727, 0x1172B },
+ { 0x1182F, 0x11837 }, { 0x11839, 0x1183A }, { 0x1193B, 0x1193C },
+ { 0x1193E, 0x1193E }, { 0x11943, 0x11943 }, { 0x119D4, 0x119D7 },
+ { 0x119DA, 0x119DB }, { 0x119E0, 0x119E0 }, { 0x11A01, 0x11A0A },
+ { 0x11A33, 0x11A38 }, { 0x11A3B, 0x11A3E }, { 0x11A47, 0x11A47 },
+ { 0x11A51, 0x11A56 }, { 0x11A59, 0x11A5B }, { 0x11A8A, 0x11A96 },
+ { 0x11A98, 0x11A99 }, { 0x11C30, 0x11C36 }, { 0x11C38, 0x11C3D },
+ { 0x11C3F, 0x11C3F }, { 0x11C92, 0x11CA7 }, { 0x11CAA, 0x11CB0 },
+ { 0x11CB2, 0x11CB3 }, { 0x11CB5, 0x11CB6 }, { 0x11D31, 0x11D36 },
+ { 0x11D3A, 0x11D3A }, { 0x11D3C, 0x11D3D }, { 0x11D3F, 0x11D45 },
+ { 0x11D47, 0x11D47 }, { 0x11D90, 0x11D91 }, { 0x11D95, 0x11D95 },
+ { 0x11D97, 0x11D97 }, { 0x11EF3, 0x11EF4 }, { 0x11F00, 0x11F01 },
+ { 0x11F36, 0x11F3A }, { 0x11F40, 0x11F40 }, { 0x11F42, 0x11F42 },
+ { 0x13440, 0x13440 }, { 0x13447, 0x13455 }, { 0x16AF0, 0x16AF4 },
+ { 0x16B30, 0x16B36 }, { 0x16F4F, 0x16F4F }, { 0x16F8F, 0x16F92 },
+ { 0x16FE4, 0x16FE4 }, { 0x1BC9D, 0x1BC9E }, { 0x1CF00, 0x1CF2D },
+ { 0x1CF30, 0x1CF46 }, { 0x1D167, 0x1D169 }, { 0x1D17B, 0x1D182 },
+ { 0x1D185, 0x1D18B }, { 0x1D1AA, 0x1D1AD }, { 0x1D242, 0x1D244 },
+ { 0x1DA00, 0x1DA36 }, { 0x1DA3B, 0x1DA6C }, { 0x1DA75, 0x1DA75 },
+ { 0x1DA84, 0x1DA84 }, { 0x1DA9B, 0x1DA9F }, { 0x1DAA1, 0x1DAAF },
+ { 0x1E000, 0x1E006 }, { 0x1E008, 0x1E018 }, { 0x1E01B, 0x1E021 },
+ { 0x1E023, 0x1E024 }, { 0x1E026, 0x1E02A }, { 0x1E08F, 0x1E08F },
+ { 0x1E130, 0x1E136 }, { 0x1E2AE, 0x1E2AE }, { 0x1E2EC, 0x1E2EF },
+ { 0x1E4EC, 0x1E4EF }, { 0x1E8D0, 0x1E8D6 }, { 0x1E944, 0x1E94A },
{ 0xE0100, 0xE01EF }
};
+ /* *INDENT-ON* */
+
+ /* sorted list of non-overlapping intervals of non-characters */
+ /* generated by
+ * uniset +0000..DFFF -4e00..9fd5 +F900..10FFFD unknown +2028..2029 c
+ */
+ /* *INDENT-OFF* */
+ /* generated by run-uniset_unk 1.6 */
+ static const struct interval unknowns[] = {
+ { 0x0378, 0x0379 }, { 0x0380, 0x0383 }, { 0x038B, 0x038B },
+ { 0x038D, 0x038D }, { 0x03A2, 0x03A2 }, { 0x0530, 0x0530 },
+ { 0x0557, 0x0558 }, { 0x058B, 0x058C }, { 0x0590, 0x0590 },
+ { 0x05C8, 0x05CF }, { 0x05EB, 0x05EE }, { 0x05F5, 0x05FF },
+ { 0x070E, 0x070E }, { 0x074B, 0x074C }, { 0x07B2, 0x07BF },
+ { 0x07FB, 0x07FC }, { 0x082E, 0x082F }, { 0x083F, 0x083F },
+ { 0x085C, 0x085D }, { 0x085F, 0x085F }, { 0x086B, 0x086F },
+ { 0x088F, 0x088F }, { 0x0892, 0x0897 }, { 0x0984, 0x0984 },
+ { 0x098D, 0x098E }, { 0x0991, 0x0992 }, { 0x09A9, 0x09A9 },
+ { 0x09B1, 0x09B1 }, { 0x09B3, 0x09B5 }, { 0x09BA, 0x09BB },
+ { 0x09C5, 0x09C6 }, { 0x09C9, 0x09CA }, { 0x09CF, 0x09D6 },
+ { 0x09D8, 0x09DB }, { 0x09DE, 0x09DE }, { 0x09E4, 0x09E5 },
+ { 0x09FF, 0x0A00 }, { 0x0A04, 0x0A04 }, { 0x0A0B, 0x0A0E },
+ { 0x0A11, 0x0A12 }, { 0x0A29, 0x0A29 }, { 0x0A31, 0x0A31 },
+ { 0x0A34, 0x0A34 }, { 0x0A37, 0x0A37 }, { 0x0A3A, 0x0A3B },
+ { 0x0A3D, 0x0A3D }, { 0x0A43, 0x0A46 }, { 0x0A49, 0x0A4A },
+ { 0x0A4E, 0x0A50 }, { 0x0A52, 0x0A58 }, { 0x0A5D, 0x0A5D },
+ { 0x0A5F, 0x0A65 }, { 0x0A77, 0x0A80 }, { 0x0A84, 0x0A84 },
+ { 0x0A8E, 0x0A8E }, { 0x0A92, 0x0A92 }, { 0x0AA9, 0x0AA9 },
+ { 0x0AB1, 0x0AB1 }, { 0x0AB4, 0x0AB4 }, { 0x0ABA, 0x0ABB },
+ { 0x0AC6, 0x0AC6 }, { 0x0ACA, 0x0ACA }, { 0x0ACE, 0x0ACF },
+ { 0x0AD1, 0x0ADF }, { 0x0AE4, 0x0AE5 }, { 0x0AF2, 0x0AF8 },
+ { 0x0B00, 0x0B00 }, { 0x0B04, 0x0B04 }, { 0x0B0D, 0x0B0E },
+ { 0x0B11, 0x0B12 }, { 0x0B29, 0x0B29 }, { 0x0B31, 0x0B31 },
+ { 0x0B34, 0x0B34 }, { 0x0B3A, 0x0B3B }, { 0x0B45, 0x0B46 },
+ { 0x0B49, 0x0B4A }, { 0x0B4E, 0x0B54 }, { 0x0B58, 0x0B5B },
+ { 0x0B5E, 0x0B5E }, { 0x0B64, 0x0B65 }, { 0x0B78, 0x0B81 },
+ { 0x0B84, 0x0B84 }, { 0x0B8B, 0x0B8D }, { 0x0B91, 0x0B91 },
+ { 0x0B96, 0x0B98 }, { 0x0B9B, 0x0B9B }, { 0x0B9D, 0x0B9D },
+ { 0x0BA0, 0x0BA2 }, { 0x0BA5, 0x0BA7 }, { 0x0BAB, 0x0BAD },
+ { 0x0BBA, 0x0BBD }, { 0x0BC3, 0x0BC5 }, { 0x0BC9, 0x0BC9 },
+ { 0x0BCE, 0x0BCF }, { 0x0BD1, 0x0BD6 }, { 0x0BD8, 0x0BE5 },
+ { 0x0BFB, 0x0BFF }, { 0x0C0D, 0x0C0D }, { 0x0C11, 0x0C11 },
+ { 0x0C29, 0x0C29 }, { 0x0C3A, 0x0C3B }, { 0x0C45, 0x0C45 },
+ { 0x0C49, 0x0C49 }, { 0x0C4E, 0x0C54 }, { 0x0C57, 0x0C57 },
+ { 0x0C5B, 0x0C5C }, { 0x0C5E, 0x0C5F }, { 0x0C64, 0x0C65 },
+ { 0x0C70, 0x0C76 }, { 0x0C8D, 0x0C8D }, { 0x0C91, 0x0C91 },
+ { 0x0CA9, 0x0CA9 }, { 0x0CB4, 0x0CB4 }, { 0x0CBA, 0x0CBB },
+ { 0x0CC5, 0x0CC5 }, { 0x0CC9, 0x0CC9 }, { 0x0CCE, 0x0CD4 },
+ { 0x0CD7, 0x0CDC }, { 0x0CDF, 0x0CDF }, { 0x0CE4, 0x0CE5 },
+ { 0x0CF0, 0x0CF0 }, { 0x0CF4, 0x0CFF }, { 0x0D0D, 0x0D0D },
+ { 0x0D11, 0x0D11 }, { 0x0D45, 0x0D45 }, { 0x0D49, 0x0D49 },
+ { 0x0D50, 0x0D53 }, { 0x0D64, 0x0D65 }, { 0x0D80, 0x0D80 },
+ { 0x0D84, 0x0D84 }, { 0x0D97, 0x0D99 }, { 0x0DB2, 0x0DB2 },
+ { 0x0DBC, 0x0DBC }, { 0x0DBE, 0x0DBF }, { 0x0DC7, 0x0DC9 },
+ { 0x0DCB, 0x0DCE }, { 0x0DD5, 0x0DD5 }, { 0x0DD7, 0x0DD7 },
+ { 0x0DE0, 0x0DE5 }, { 0x0DF0, 0x0DF1 }, { 0x0DF5, 0x0E00 },
+ { 0x0E3B, 0x0E3E }, { 0x0E5C, 0x0E80 }, { 0x0E83, 0x0E83 },
+ { 0x0E85, 0x0E85 }, { 0x0E8B, 0x0E8B }, { 0x0EA4, 0x0EA4 },
+ { 0x0EA6, 0x0EA6 }, { 0x0EBE, 0x0EBF }, { 0x0EC5, 0x0EC5 },
+ { 0x0EC7, 0x0EC7 }, { 0x0ECF, 0x0ECF }, { 0x0EDA, 0x0EDB },
+ { 0x0EE0, 0x0EFF }, { 0x0F48, 0x0F48 }, { 0x0F6D, 0x0F70 },
+ { 0x0F98, 0x0F98 }, { 0x0FBD, 0x0FBD }, { 0x0FCD, 0x0FCD },
+ { 0x0FDB, 0x0FFF }, { 0x10C6, 0x10C6 }, { 0x10C8, 0x10CC },
+ { 0x10CE, 0x10CF }, { 0x1249, 0x1249 }, { 0x124E, 0x124F },
+ { 0x1257, 0x1257 }, { 0x1259, 0x1259 }, { 0x125E, 0x125F },
+ { 0x1289, 0x1289 }, { 0x128E, 0x128F }, { 0x12B1, 0x12B1 },
+ { 0x12B6, 0x12B7 }, { 0x12BF, 0x12BF }, { 0x12C1, 0x12C1 },
+ { 0x12C6, 0x12C7 }, { 0x12D7, 0x12D7 }, { 0x1311, 0x1311 },
+ { 0x1316, 0x1317 }, { 0x135B, 0x135C }, { 0x137D, 0x137F },
+ { 0x139A, 0x139F }, { 0x13F6, 0x13F7 }, { 0x13FE, 0x13FF },
+ { 0x169D, 0x169F }, { 0x16F9, 0x16FF }, { 0x1716, 0x171E },
+ { 0x1737, 0x173F }, { 0x1754, 0x175F }, { 0x176D, 0x176D },
+ { 0x1771, 0x1771 }, { 0x1774, 0x177F }, { 0x17DE, 0x17DF },
+ { 0x17EA, 0x17EF }, { 0x17FA, 0x17FF }, { 0x181A, 0x181F },
+ { 0x1879, 0x187F }, { 0x18AB, 0x18AF }, { 0x18F6, 0x18FF },
+ { 0x191F, 0x191F }, { 0x192C, 0x192F }, { 0x193C, 0x193F },
+ { 0x1941, 0x1943 }, { 0x196E, 0x196F }, { 0x1975, 0x197F },
+ { 0x19AC, 0x19AF }, { 0x19CA, 0x19CF }, { 0x19DB, 0x19DD },
+ { 0x1A1C, 0x1A1D }, { 0x1A5F, 0x1A5F }, { 0x1A7D, 0x1A7E },
+ { 0x1A8A, 0x1A8F }, { 0x1A9A, 0x1A9F }, { 0x1AAE, 0x1AAF },
+ { 0x1ACF, 0x1AFF }, { 0x1B4D, 0x1B4F }, { 0x1B7F, 0x1B7F },
+ { 0x1BF4, 0x1BFB }, { 0x1C38, 0x1C3A }, { 0x1C4A, 0x1C4C },
+ { 0x1C89, 0x1C8F }, { 0x1CBB, 0x1CBC }, { 0x1CC8, 0x1CCF },
+ { 0x1CFB, 0x1CFF }, { 0x1F16, 0x1F17 }, { 0x1F1E, 0x1F1F },
+ { 0x1F46, 0x1F47 }, { 0x1F4E, 0x1F4F }, { 0x1F58, 0x1F58 },
+ { 0x1F5A, 0x1F5A }, { 0x1F5C, 0x1F5C }, { 0x1F5E, 0x1F5E },
+ { 0x1F7E, 0x1F7F }, { 0x1FB5, 0x1FB5 }, { 0x1FC5, 0x1FC5 },
+ { 0x1FD4, 0x1FD5 }, { 0x1FDC, 0x1FDC }, { 0x1FF0, 0x1FF1 },
+ { 0x1FF5, 0x1FF5 }, { 0x1FFF, 0x1FFF }, { 0x2028, 0x2029 },
+ { 0x2065, 0x2065 }, { 0x2072, 0x2073 }, { 0x208F, 0x208F },
+ { 0x209D, 0x209F }, { 0x20C1, 0x20CF }, { 0x20F1, 0x20FF },
+ { 0x218C, 0x218F }, { 0x2427, 0x243F }, { 0x244B, 0x245F },
+ { 0x2B74, 0x2B75 }, { 0x2B96, 0x2B96 }, { 0x2CF4, 0x2CF8 },
+ { 0x2D26, 0x2D26 }, { 0x2D28, 0x2D2C }, { 0x2D2E, 0x2D2F },
+ { 0x2D68, 0x2D6E }, { 0x2D71, 0x2D7E }, { 0x2D97, 0x2D9F },
+ { 0x2DA7, 0x2DA7 }, { 0x2DAF, 0x2DAF }, { 0x2DB7, 0x2DB7 },
+ { 0x2DBF, 0x2DBF }, { 0x2DC7, 0x2DC7 }, { 0x2DCF, 0x2DCF },
+ { 0x2DD7, 0x2DD7 }, { 0x2DDF, 0x2DDF }, { 0x2E5E, 0x2E7F },
+ { 0x2E9A, 0x2E9A }, { 0x2EF4, 0x2EFF }, { 0x2FD6, 0x2FEF },
+ { 0x3040, 0x3040 }, { 0x3097, 0x3098 }, { 0x3100, 0x3104 },
+ { 0x3130, 0x3130 }, { 0x318F, 0x318F }, { 0x31E4, 0x31EE },
+ { 0x321F, 0x321F }, { 0x4DB6, 0x4DBF }, { 0x9FD6, 0x9FFF },
+ { 0xA48D, 0xA48F }, { 0xA4C7, 0xA4CF }, { 0xA62C, 0xA63F },
+ { 0xA6F8, 0xA6FF }, { 0xA7CB, 0xA7CF }, { 0xA7D2, 0xA7D2 },
+ { 0xA7D4, 0xA7D4 }, { 0xA7DA, 0xA7F1 }, { 0xA82D, 0xA82F },
+ { 0xA83A, 0xA83F }, { 0xA878, 0xA87F }, { 0xA8C6, 0xA8CD },
+ { 0xA8DA, 0xA8DF }, { 0xA954, 0xA95E }, { 0xA97D, 0xA97F },
+ { 0xA9CE, 0xA9CE }, { 0xA9DA, 0xA9DD }, { 0xA9FF, 0xA9FF },
+ { 0xAA37, 0xAA3F }, { 0xAA4E, 0xAA4F }, { 0xAA5A, 0xAA5B },
+ { 0xAAC3, 0xAADA }, { 0xAAF7, 0xAB00 }, { 0xAB07, 0xAB08 },
+ { 0xAB0F, 0xAB10 }, { 0xAB17, 0xAB1F }, { 0xAB27, 0xAB27 },
+ { 0xAB2F, 0xAB2F }, { 0xAB6C, 0xAB6F }, { 0xABEE, 0xABEF },
+ { 0xABFA, 0xABFF }, { 0xD7A4, 0xD7AF }, { 0xD7C7, 0xD7CA },
+ { 0xD7FC, 0xDFFF }, { 0xFA6E, 0xFA6F }, { 0xFADA, 0xFAFF },
+ { 0xFB07, 0xFB12 }, { 0xFB18, 0xFB1C }, { 0xFB37, 0xFB37 },
+ { 0xFB3D, 0xFB3D }, { 0xFB3F, 0xFB3F }, { 0xFB42, 0xFB42 },
+ { 0xFB45, 0xFB45 }, { 0xFBC3, 0xFBD2 }, { 0xFD90, 0xFD91 },
+ { 0xFDC8, 0xFDCE }, { 0xFDD0, 0xFDEF }, { 0xFE1A, 0xFE1F },
+ { 0xFE53, 0xFE53 }, { 0xFE67, 0xFE67 }, { 0xFE6C, 0xFE6F },
+ { 0xFE75, 0xFE75 }, { 0xFEFD, 0xFEFE }, { 0xFF00, 0xFF00 },
+ { 0xFFBF, 0xFFC1 }, { 0xFFC8, 0xFFC9 }, { 0xFFD0, 0xFFD1 },
+ { 0xFFD8, 0xFFD9 }, { 0xFFDD, 0xFFDF }, { 0xFFE7, 0xFFE7 },
+ { 0xFFEF, 0xFFF8 }, { 0xFFFE, 0xFFFF }, { 0x1000C, 0x1000C },
+ { 0x10027, 0x10027 }, { 0x1003B, 0x1003B }, { 0x1003E, 0x1003E },
+ { 0x1004E, 0x1004F }, { 0x1005E, 0x1007F }, { 0x100FB, 0x100FF },
+ { 0x10103, 0x10106 }, { 0x10134, 0x10136 }, { 0x1018F, 0x1018F },
+ { 0x1019D, 0x1019F }, { 0x101A1, 0x101CF }, { 0x101FE, 0x1027F },
+ { 0x1029D, 0x1029F }, { 0x102D1, 0x102DF }, { 0x102FC, 0x102FF },
+ { 0x10324, 0x1032C }, { 0x1034B, 0x1034F }, { 0x1037B, 0x1037F },
+ { 0x1039E, 0x1039E }, { 0x103C4, 0x103C7 }, { 0x103D6, 0x103FF },
+ { 0x1049E, 0x1049F }, { 0x104AA, 0x104AF }, { 0x104D4, 0x104D7 },
+ { 0x104FC, 0x104FF }, { 0x10528, 0x1052F }, { 0x10564, 0x1056E },
+ { 0x1057B, 0x1057B }, { 0x1058B, 0x1058B }, { 0x10593, 0x10593 },
+ { 0x10596, 0x10596 }, { 0x105A2, 0x105A2 }, { 0x105B2, 0x105B2 },
+ { 0x105BA, 0x105BA }, { 0x105BD, 0x105FF }, { 0x10737, 0x1073F },
+ { 0x10756, 0x1075F }, { 0x10768, 0x1077F }, { 0x10786, 0x10786 },
+ { 0x107B1, 0x107B1 }, { 0x107BB, 0x107FF }, { 0x10806, 0x10807 },
+ { 0x10809, 0x10809 }, { 0x10836, 0x10836 }, { 0x10839, 0x1083B },
+ { 0x1083D, 0x1083E }, { 0x10856, 0x10856 }, { 0x1089F, 0x108A6 },
+ { 0x108B0, 0x108DF }, { 0x108F3, 0x108F3 }, { 0x108F6, 0x108FA },
+ { 0x1091C, 0x1091E }, { 0x1093A, 0x1093E }, { 0x10940, 0x1097F },
+ { 0x109B8, 0x109BB }, { 0x109D0, 0x109D1 }, { 0x10A04, 0x10A04 },
+ { 0x10A07, 0x10A0B }, { 0x10A14, 0x10A14 }, { 0x10A18, 0x10A18 },
+ { 0x10A36, 0x10A37 }, { 0x10A3B, 0x10A3E }, { 0x10A49, 0x10A4F },
+ { 0x10A59, 0x10A5F }, { 0x10AA0, 0x10ABF }, { 0x10AE7, 0x10AEA },
+ { 0x10AF7, 0x10AFF }, { 0x10B36, 0x10B38 }, { 0x10B56, 0x10B57 },
+ { 0x10B73, 0x10B77 }, { 0x10B92, 0x10B98 }, { 0x10B9D, 0x10BA8 },
+ { 0x10BB0, 0x10BFF }, { 0x10C49, 0x10C7F }, { 0x10CB3, 0x10CBF },
+ { 0x10CF3, 0x10CF9 }, { 0x10D28, 0x10D2F }, { 0x10D3A, 0x10E5F },
+ { 0x10E7F, 0x10E7F }, { 0x10EAA, 0x10EAA }, { 0x10EAE, 0x10EAF },
+ { 0x10EB2, 0x10EFC }, { 0x10F28, 0x10F2F }, { 0x10F5A, 0x10F6F },
+ { 0x10F8A, 0x10FAF }, { 0x10FCC, 0x10FDF }, { 0x10FF7, 0x10FFF },
+ { 0x1104E, 0x11051 }, { 0x11076, 0x1107E }, { 0x110C3, 0x110CC },
+ { 0x110CE, 0x110CF }, { 0x110E9, 0x110EF }, { 0x110FA, 0x110FF },
+ { 0x11135, 0x11135 }, { 0x11148, 0x1114F }, { 0x11177, 0x1117F },
+ { 0x111E0, 0x111E0 }, { 0x111F5, 0x111FF }, { 0x11212, 0x11212 },
+ { 0x11242, 0x1127F }, { 0x11287, 0x11287 }, { 0x11289, 0x11289 },
+ { 0x1128E, 0x1128E }, { 0x1129E, 0x1129E }, { 0x112AA, 0x112AF },
+ { 0x112EB, 0x112EF }, { 0x112FA, 0x112FF }, { 0x11304, 0x11304 },
+ { 0x1130D, 0x1130E }, { 0x11311, 0x11312 }, { 0x11329, 0x11329 },
+ { 0x11331, 0x11331 }, { 0x11334, 0x11334 }, { 0x1133A, 0x1133A },
+ { 0x11345, 0x11346 }, { 0x11349, 0x1134A }, { 0x1134E, 0x1134F },
+ { 0x11351, 0x11356 }, { 0x11358, 0x1135C }, { 0x11364, 0x11365 },
+ { 0x1136D, 0x1136F }, { 0x11375, 0x113FF }, { 0x1145C, 0x1145C },
+ { 0x11462, 0x1147F }, { 0x114C8, 0x114CF }, { 0x114DA, 0x1157F },
+ { 0x115B6, 0x115B7 }, { 0x115DE, 0x115FF }, { 0x11645, 0x1164F },
+ { 0x1165A, 0x1165F }, { 0x1166D, 0x1167F }, { 0x116BA, 0x116BF },
+ { 0x116CA, 0x116FF }, { 0x1171B, 0x1171C }, { 0x1172C, 0x1172F },
+ { 0x11747, 0x117FF }, { 0x1183C, 0x1189F }, { 0x118F3, 0x118FE },
+ { 0x11907, 0x11908 }, { 0x1190A, 0x1190B }, { 0x11914, 0x11914 },
+ { 0x11917, 0x11917 }, { 0x11936, 0x11936 }, { 0x11939, 0x1193A },
+ { 0x11947, 0x1194F }, { 0x1195A, 0x1199F }, { 0x119A8, 0x119A9 },
+ { 0x119D8, 0x119D9 }, { 0x119E5, 0x119FF }, { 0x11A48, 0x11A4F },
+ { 0x11AA3, 0x11AAF }, { 0x11AF9, 0x11AFF }, { 0x11B0A, 0x11BFF },
+ { 0x11C09, 0x11C09 }, { 0x11C37, 0x11C37 }, { 0x11C46, 0x11C4F },
+ { 0x11C6D, 0x11C6F }, { 0x11C90, 0x11C91 }, { 0x11CA8, 0x11CA8 },
+ { 0x11CB7, 0x11CFF }, { 0x11D07, 0x11D07 }, { 0x11D0A, 0x11D0A },
+ { 0x11D37, 0x11D39 }, { 0x11D3B, 0x11D3B }, { 0x11D3E, 0x11D3E },
+ { 0x11D48, 0x11D4F }, { 0x11D5A, 0x11D5F }, { 0x11D66, 0x11D66 },
+ { 0x11D69, 0x11D69 }, { 0x11D8F, 0x11D8F }, { 0x11D92, 0x11D92 },
+ { 0x11D99, 0x11D9F }, { 0x11DAA, 0x11EDF }, { 0x11EF9, 0x11EFF },
+ { 0x11F11, 0x11F11 }, { 0x11F3B, 0x11F3D }, { 0x11F5A, 0x11FAF },
+ { 0x11FB1, 0x11FBF }, { 0x11FF2, 0x11FFE }, { 0x1239A, 0x123FF },
+ { 0x1246F, 0x1246F }, { 0x12475, 0x1247F }, { 0x12544, 0x12F8F },
+ { 0x12FF3, 0x12FFF }, { 0x13456, 0x143FF }, { 0x14647, 0x167FF },
+ { 0x16A39, 0x16A3F }, { 0x16A5F, 0x16A5F }, { 0x16A6A, 0x16A6D },
+ { 0x16ABF, 0x16ABF }, { 0x16ACA, 0x16ACF }, { 0x16AEE, 0x16AEF },
+ { 0x16AF6, 0x16AFF }, { 0x16B46, 0x16B4F }, { 0x16B5A, 0x16B5A },
+ { 0x16B62, 0x16B62 }, { 0x16B78, 0x16B7C }, { 0x16B90, 0x16E3F },
+ { 0x16E9B, 0x16EFF }, { 0x16F4B, 0x16F4E }, { 0x16F88, 0x16F8E },
+ { 0x16FA0, 0x16FDF }, { 0x16FE5, 0x16FEF }, { 0x16FF2, 0x187FF },
+ { 0x18CD6, 0x1AFEF }, { 0x1AFF4, 0x1AFF4 }, { 0x1AFFC, 0x1AFFC },
+ { 0x1AFFF, 0x1AFFF }, { 0x1B123, 0x1B131 }, { 0x1B133, 0x1B14F },
+ { 0x1B153, 0x1B154 }, { 0x1B156, 0x1B163 }, { 0x1B168, 0x1B16F },
+ { 0x1B2FC, 0x1BBFF }, { 0x1BC6B, 0x1BC6F }, { 0x1BC7D, 0x1BC7F },
+ { 0x1BC89, 0x1BC8F }, { 0x1BC9A, 0x1BC9B }, { 0x1BCA4, 0x1CEFF },
+ { 0x1CF2E, 0x1CF2F }, { 0x1CF47, 0x1CF4F }, { 0x1CFC4, 0x1CFFF },
+ { 0x1D0F6, 0x1D0FF }, { 0x1D127, 0x1D128 }, { 0x1D1EB, 0x1D1FF },
+ { 0x1D246, 0x1D2BF }, { 0x1D2D4, 0x1D2DF }, { 0x1D2F4, 0x1D2FF },
+ { 0x1D357, 0x1D35F }, { 0x1D379, 0x1D3FF }, { 0x1D455, 0x1D455 },
+ { 0x1D49D, 0x1D49D }, { 0x1D4A0, 0x1D4A1 }, { 0x1D4A3, 0x1D4A4 },
+ { 0x1D4A7, 0x1D4A8 }, { 0x1D4AD, 0x1D4AD }, { 0x1D4BA, 0x1D4BA },
+ { 0x1D4BC, 0x1D4BC }, { 0x1D4C4, 0x1D4C4 }, { 0x1D506, 0x1D506 },
+ { 0x1D50B, 0x1D50C }, { 0x1D515, 0x1D515 }, { 0x1D51D, 0x1D51D },
+ { 0x1D53A, 0x1D53A }, { 0x1D53F, 0x1D53F }, { 0x1D545, 0x1D545 },
+ { 0x1D547, 0x1D549 }, { 0x1D551, 0x1D551 }, { 0x1D6A6, 0x1D6A7 },
+ { 0x1D7CC, 0x1D7CD }, { 0x1DA8C, 0x1DA9A }, { 0x1DAA0, 0x1DAA0 },
+ { 0x1DAB0, 0x1DEFF }, { 0x1DF1F, 0x1DF24 }, { 0x1DF2B, 0x1DFFF },
+ { 0x1E007, 0x1E007 }, { 0x1E019, 0x1E01A }, { 0x1E022, 0x1E022 },
+ { 0x1E025, 0x1E025 }, { 0x1E02B, 0x1E02F }, { 0x1E06E, 0x1E08E },
+ { 0x1E090, 0x1E0FF }, { 0x1E12D, 0x1E12F }, { 0x1E13E, 0x1E13F },
+ { 0x1E14A, 0x1E14D }, { 0x1E150, 0x1E28F }, { 0x1E2AF, 0x1E2BF },
+ { 0x1E2FA, 0x1E2FE }, { 0x1E300, 0x1E4CF }, { 0x1E4FA, 0x1E7DF },
+ { 0x1E7E7, 0x1E7E7 }, { 0x1E7EC, 0x1E7EC }, { 0x1E7EF, 0x1E7EF },
+ { 0x1E7FF, 0x1E7FF }, { 0x1E8C5, 0x1E8C6 }, { 0x1E8D7, 0x1E8FF },
+ { 0x1E94C, 0x1E94F }, { 0x1E95A, 0x1E95D }, { 0x1E960, 0x1EC70 },
+ { 0x1ECB5, 0x1ED00 }, { 0x1ED3E, 0x1EDFF }, { 0x1EE04, 0x1EE04 },
+ { 0x1EE20, 0x1EE20 }, { 0x1EE23, 0x1EE23 }, { 0x1EE25, 0x1EE26 },
+ { 0x1EE28, 0x1EE28 }, { 0x1EE33, 0x1EE33 }, { 0x1EE38, 0x1EE38 },
+ { 0x1EE3A, 0x1EE3A }, { 0x1EE3C, 0x1EE41 }, { 0x1EE43, 0x1EE46 },
+ { 0x1EE48, 0x1EE48 }, { 0x1EE4A, 0x1EE4A }, { 0x1EE4C, 0x1EE4C },
+ { 0x1EE50, 0x1EE50 }, { 0x1EE53, 0x1EE53 }, { 0x1EE55, 0x1EE56 },
+ { 0x1EE58, 0x1EE58 }, { 0x1EE5A, 0x1EE5A }, { 0x1EE5C, 0x1EE5C },
+ { 0x1EE5E, 0x1EE5E }, { 0x1EE60, 0x1EE60 }, { 0x1EE63, 0x1EE63 },
+ { 0x1EE65, 0x1EE66 }, { 0x1EE6B, 0x1EE6B }, { 0x1EE73, 0x1EE73 },
+ { 0x1EE78, 0x1EE78 }, { 0x1EE7D, 0x1EE7D }, { 0x1EE7F, 0x1EE7F },
+ { 0x1EE8A, 0x1EE8A }, { 0x1EE9C, 0x1EEA0 }, { 0x1EEA4, 0x1EEA4 },
+ { 0x1EEAA, 0x1EEAA }, { 0x1EEBC, 0x1EEEF }, { 0x1EEF2, 0x1EFFF },
+ { 0x1F02C, 0x1F02F }, { 0x1F094, 0x1F09F }, { 0x1F0AF, 0x1F0B0 },
+ { 0x1F0C0, 0x1F0C0 }, { 0x1F0D0, 0x1F0D0 }, { 0x1F0F6, 0x1F0FF },
+ { 0x1F1AE, 0x1F1E5 }, { 0x1F203, 0x1F20F }, { 0x1F23C, 0x1F23F },
+ { 0x1F249, 0x1F24F }, { 0x1F252, 0x1F25F }, { 0x1F266, 0x1F2FF },
+ { 0x1F6D8, 0x1F6DB }, { 0x1F6ED, 0x1F6EF }, { 0x1F6FD, 0x1F6FF },
+ { 0x1F777, 0x1F77A }, { 0x1F7DA, 0x1F7DF }, { 0x1F7EC, 0x1F7EF },
+ { 0x1F7F1, 0x1F7FF }, { 0x1F80C, 0x1F80F }, { 0x1F848, 0x1F84F },
+ { 0x1F85A, 0x1F85F }, { 0x1F888, 0x1F88F }, { 0x1F8AE, 0x1F8AF },
+ { 0x1F8B2, 0x1F8FF }, { 0x1FA54, 0x1FA5F }, { 0x1FA6E, 0x1FA6F },
+ { 0x1FA7D, 0x1FA7F }, { 0x1FA89, 0x1FA8F }, { 0x1FABE, 0x1FABE },
+ { 0x1FAC6, 0x1FACD }, { 0x1FADC, 0x1FADF }, { 0x1FAE9, 0x1FAEF },
+ { 0x1FAF9, 0x1FAFF }, { 0x1FB93, 0x1FB93 }, { 0x1FBCB, 0x1FBEF },
+ { 0x1FBFA, 0x1FFFF }, { 0x2A6D7, 0x2F7FF }, { 0x2FA1E, 0xE0000 },
+ { 0xE0002, 0xE001F }, { 0xE0080, 0xE00FF }, { 0xE01F0, 0x10FFFD }
+ };
+ /* *INDENT-ON* */
+
+ /* sorted list of non-overlapping intervals of non-characters */
+ /* generated by
+ * uniset +WIDTH-W -cat=Cn -cat=Mn c
+ */
+ /* *INDENT-OFF* */
+ /* generated by run-uniset_dbl 1.2 */
+ static const struct interval doublewidth[] = {
+ { 0x1100, 0x115F }, { 0x231A, 0x231B }, { 0x2329, 0x232A },
+ { 0x23E9, 0x23EC }, { 0x23F0, 0x23F0 }, { 0x23F3, 0x23F3 },
+ { 0x25FD, 0x25FE }, { 0x2614, 0x2615 }, { 0x2648, 0x2653 },
+ { 0x267F, 0x267F }, { 0x2693, 0x2693 }, { 0x26A1, 0x26A1 },
+ { 0x26AA, 0x26AB }, { 0x26BD, 0x26BE }, { 0x26C4, 0x26C5 },
+ { 0x26CE, 0x26CE }, { 0x26D4, 0x26D4 }, { 0x26EA, 0x26EA },
+ { 0x26F2, 0x26F3 }, { 0x26F5, 0x26F5 }, { 0x26FA, 0x26FA },
+ { 0x26FD, 0x26FD }, { 0x2705, 0x2705 }, { 0x270A, 0x270B },
+ { 0x2728, 0x2728 }, { 0x274C, 0x274C }, { 0x274E, 0x274E },
+ { 0x2753, 0x2755 }, { 0x2757, 0x2757 }, { 0x2795, 0x2797 },
+ { 0x27B0, 0x27B0 }, { 0x27BF, 0x27BF }, { 0x2B1B, 0x2B1C },
+ { 0x2B50, 0x2B50 }, { 0x2B55, 0x2B55 }, { 0x2E80, 0x2E99 },
+ { 0x2E9B, 0x2EF3 }, { 0x2F00, 0x2FD5 }, { 0x2FF0, 0x3029 },
+ { 0x302E, 0x303E }, { 0x3041, 0x3096 }, { 0x309B, 0x30FF },
+ { 0x3105, 0x312F }, { 0x3131, 0x318E }, { 0x3190, 0x31E3 },
+ { 0x31EF, 0x321E }, { 0x3220, 0x3247 }, { 0x3250, 0x4DBF },
+ { 0x4E00, 0xA48C }, { 0xA490, 0xA4C6 }, { 0xA960, 0xA97C },
+ { 0xAC00, 0xD7A3 }, { 0xF900, 0xFAFF }, { 0xFE10, 0xFE19 },
+ { 0xFE30, 0xFE52 }, { 0xFE54, 0xFE66 }, { 0xFE68, 0xFE6B },
+ { 0xFF01, 0xFF60 }, { 0xFFE0, 0xFFE6 }, { 0x16FE0, 0x16FE3 },
+ { 0x16FF0, 0x16FF1 }, { 0x17000, 0x187F7 }, { 0x18800, 0x18CD5 },
+ { 0x18D00, 0x18D08 }, { 0x1AFF0, 0x1AFF3 }, { 0x1AFF5, 0x1AFFB },
+ { 0x1AFFD, 0x1AFFE }, { 0x1B000, 0x1B122 }, { 0x1B132, 0x1B132 },
+ { 0x1B150, 0x1B152 }, { 0x1B155, 0x1B155 }, { 0x1B164, 0x1B167 },
+ { 0x1B170, 0x1B2FB }, { 0x1F004, 0x1F004 }, { 0x1F0CF, 0x1F0CF },
+ { 0x1F18E, 0x1F18E }, { 0x1F191, 0x1F19A }, { 0x1F200, 0x1F202 },
+ { 0x1F210, 0x1F23B }, { 0x1F240, 0x1F248 }, { 0x1F250, 0x1F251 },
+ { 0x1F260, 0x1F265 }, { 0x1F300, 0x1F320 }, { 0x1F32D, 0x1F335 },
+ { 0x1F337, 0x1F37C }, { 0x1F37E, 0x1F393 }, { 0x1F3A0, 0x1F3CA },
+ { 0x1F3CF, 0x1F3D3 }, { 0x1F3E0, 0x1F3F0 }, { 0x1F3F4, 0x1F3F4 },
+ { 0x1F3F8, 0x1F43E }, { 0x1F440, 0x1F440 }, { 0x1F442, 0x1F4FC },
+ { 0x1F4FF, 0x1F53D }, { 0x1F54B, 0x1F54E }, { 0x1F550, 0x1F567 },
+ { 0x1F57A, 0x1F57A }, { 0x1F595, 0x1F596 }, { 0x1F5A4, 0x1F5A4 },
+ { 0x1F5FB, 0x1F64F }, { 0x1F680, 0x1F6C5 }, { 0x1F6CC, 0x1F6CC },
+ { 0x1F6D0, 0x1F6D2 }, { 0x1F6D5, 0x1F6D7 }, { 0x1F6DC, 0x1F6DF },
+ { 0x1F6EB, 0x1F6EC }, { 0x1F6F4, 0x1F6FC }, { 0x1F7E0, 0x1F7EB },
+ { 0x1F7F0, 0x1F7F0 }, { 0x1F90C, 0x1F93A }, { 0x1F93C, 0x1F945 },
+ { 0x1F947, 0x1F9FF }, { 0x1FA70, 0x1FA7C }, { 0x1FA80, 0x1FA88 },
+ { 0x1FA90, 0x1FABD }, { 0x1FABF, 0x1FAC5 }, { 0x1FACE, 0x1FADB },
+ { 0x1FAE0, 0x1FAE8 }, { 0x1FAF0, 0x1FAF8 }, { 0x20000, 0x2FFFD },
+ { 0x30000, 0x3FFFD }
+ };
+ /* *INDENT-ON* */
+
+ int result;
+
+#define Lookup(cmp, table) \
+ bisearch(cmp, table, \
+ (int) (sizeof(table) / sizeof(struct interval) - 1))
/* test for 8-bit control characters */
- if (ucs == 0)
- return 0;
- if (ucs < 32 || (ucs >= 0x7f && ucs < 0xa0))
- return -1;
+ if (cmp == 0) {
+ result = 0;
+ } else if (cmp < 32 || (cmp >= 0x7f && cmp < 0xa0)) {
+ result = -1;
+ } else if (cmp == 0xad) {
+ result = use_latin1;
+ } else if (Lookup(cmp, formatting)) {
+ /* treat formatting characters like control characters */
+ result = -1;
+ } else if (Lookup(cmp, combining)) {
+ /* binary search in table of non-spacing characters */
+ result = 0;
+ } else {
+ /* if we arrive here, cmp is not a combining or C0/C1 control character */
+ result = 1;
- /* binary search in table of non-spacing characters */
- if (bisearch(ucs, combining,
- sizeof(combining) / sizeof(struct interval) - 1))
- return 0;
-
- /* if we arrive here, ucs is not a combining or C0/C1 control character */
-
- return 1 +
- (ucs >= 0x1100 &&
- (ucs <= 0x115f || /* Hangul Jamo init. consonants */
- ucs == 0x2329 || ucs == 0x232a ||
- (ucs >= 0x2e80 && ucs <= 0xa4cf &&
- ucs != 0x303f) /* CJK ... Yi */
- || (ucs >= 0xac00 && ucs <= 0xd7a3) /* Hangul Syllables */
- || (ucs >= 0xf900 && ucs <= 0xfaff) /* CJK Compatibility Ideographs */
- || (ucs >= 0xfe10 && ucs <= 0xfe19) /* Vertical forms */
- || (ucs >= 0xfe30 && ucs <= 0xfe6f) /* CJK Compatibility Forms */
- || (ucs >= 0xff00 && ucs <= 0xff60) /* Fullwidth Forms */
- || (ucs >= 0xffe0 && ucs <= 0xffe6)
-#if !defined(SIZEOF_WCHAR_T) || (SIZEOF_WCHAR_T >= 4)
- || (ucs >= 0x20000 && ucs <= 0x2fffd)
- || (ucs >= 0x30000 && ucs <= 0x3fffd)
-#endif
- ));
+ if (Lookup(cmp, doublewidth)) {
+ result = 2;
+ } else if (cmp >= unknowns[0].first && Lookup(cmp, unknowns)) {
+ result = -1;
+ }
+ }
+ return result;
}
-NCURSES_EXPORT(int) mk_wcswidth(const wchar_t *pwcs, size_t n)
+NCURSES_EXPORT(int) mk_wcswidth(const uint32_t *pwcs, size_t n)
{
- int w, width = 0;
+ int width = 0;
+
+ for (; *pwcs && n-- > 0; pwcs++) {
+ int w;
- for (;*pwcs && n-- > 0; pwcs++)
if ((w = mk_wcwidth(*pwcs)) < 0)
return -1;
else
width += w;
+ }
return width;
}
/*
* The following functions are the same as mk_wcwidth() and
- * mk_wcswidth(), except that spacing characters in the East Asian
+ * mk_wcwidth_cjk(), except that spacing characters in the East Asian
* Ambiguous (A) category as defined in Unicode Technical Report #11
* have a column width of 2. This variant might be useful for users of
* CJK legacy encodings who want to migrate to UCS without changing
* the traditional terminal character-width behaviour. It is not
* otherwise recommended for general use.
*/
-NCURSES_EXPORT(int) mk_wcwidth_cjk(wchar_t ucs)
+NCURSES_EXPORT(int) mk_wcwidth_cjk(uint32_t ucs)
{
/* sorted list of non-overlapping intervals of East Asian Ambiguous
- * characters, generated by "uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf c" */
+ * characters, generated by
+ *
+ * uniset +WIDTH-A -cat=Me -cat=Mn -cat=Cf \
+ * +E000..F8FF \
+ * +F0000..FFFFD \
+ * +100000..10FFFD c
+ *
+ * "WIDTH-A" is a file extracted from EastAsianWidth.txt by selecting
+ * only those with width "A", and omitting:
+ *
+ * 0xAD
+ * all lines with "COMBINING"
+ */
+ /* *INDENT-OFF* */
+ /* generated by run-uniset_cjk 1.5 */
static const struct interval ambiguous[] = {
{ 0x00A1, 0x00A1 }, { 0x00A4, 0x00A4 }, { 0x00A7, 0x00A8 },
{ 0x00AA, 0x00AA }, { 0x00AE, 0x00AE }, { 0x00B0, 0x00B4 },
{ 0x2113, 0x2113 }, { 0x2116, 0x2116 }, { 0x2121, 0x2122 },
{ 0x2126, 0x2126 }, { 0x212B, 0x212B }, { 0x2153, 0x2154 },
{ 0x215B, 0x215E }, { 0x2160, 0x216B }, { 0x2170, 0x2179 },
- { 0x2190, 0x2199 }, { 0x21B8, 0x21B9 }, { 0x21D2, 0x21D2 },
- { 0x21D4, 0x21D4 }, { 0x21E7, 0x21E7 }, { 0x2200, 0x2200 },
- { 0x2202, 0x2203 }, { 0x2207, 0x2208 }, { 0x220B, 0x220B },
- { 0x220F, 0x220F }, { 0x2211, 0x2211 }, { 0x2215, 0x2215 },
- { 0x221A, 0x221A }, { 0x221D, 0x2220 }, { 0x2223, 0x2223 },
- { 0x2225, 0x2225 }, { 0x2227, 0x222C }, { 0x222E, 0x222E },
- { 0x2234, 0x2237 }, { 0x223C, 0x223D }, { 0x2248, 0x2248 },
- { 0x224C, 0x224C }, { 0x2252, 0x2252 }, { 0x2260, 0x2261 },
- { 0x2264, 0x2267 }, { 0x226A, 0x226B }, { 0x226E, 0x226F },
- { 0x2282, 0x2283 }, { 0x2286, 0x2287 }, { 0x2295, 0x2295 },
- { 0x2299, 0x2299 }, { 0x22A5, 0x22A5 }, { 0x22BF, 0x22BF },
- { 0x2312, 0x2312 }, { 0x2460, 0x24E9 }, { 0x24EB, 0x254B },
- { 0x2550, 0x2573 }, { 0x2580, 0x258F }, { 0x2592, 0x2595 },
- { 0x25A0, 0x25A1 }, { 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 },
- { 0x25B6, 0x25B7 }, { 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 },
- { 0x25C6, 0x25C8 }, { 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 },
- { 0x25E2, 0x25E5 }, { 0x25EF, 0x25EF }, { 0x2605, 0x2606 },
- { 0x2609, 0x2609 }, { 0x260E, 0x260F }, { 0x2614, 0x2615 },
+ { 0x2189, 0x2189 }, { 0x2190, 0x2199 }, { 0x21B8, 0x21B9 },
+ { 0x21D2, 0x21D2 }, { 0x21D4, 0x21D4 }, { 0x21E7, 0x21E7 },
+ { 0x2200, 0x2200 }, { 0x2202, 0x2203 }, { 0x2207, 0x2208 },
+ { 0x220B, 0x220B }, { 0x220F, 0x220F }, { 0x2211, 0x2211 },
+ { 0x2215, 0x2215 }, { 0x221A, 0x221A }, { 0x221D, 0x2220 },
+ { 0x2223, 0x2223 }, { 0x2225, 0x2225 }, { 0x2227, 0x222C },
+ { 0x222E, 0x222E }, { 0x2234, 0x2237 }, { 0x223C, 0x223D },
+ { 0x2248, 0x2248 }, { 0x224C, 0x224C }, { 0x2252, 0x2252 },
+ { 0x2260, 0x2261 }, { 0x2264, 0x2267 }, { 0x226A, 0x226B },
+ { 0x226E, 0x226F }, { 0x2282, 0x2283 }, { 0x2286, 0x2287 },
+ { 0x2295, 0x2295 }, { 0x2299, 0x2299 }, { 0x22A5, 0x22A5 },
+ { 0x22BF, 0x22BF }, { 0x2312, 0x2312 }, { 0x2460, 0x24E9 },
+ { 0x24EB, 0x254B }, { 0x2550, 0x2573 }, { 0x2580, 0x258F },
+ { 0x2592, 0x2595 }, { 0x25A0, 0x25A1 }, { 0x25A3, 0x25A9 },
+ { 0x25B2, 0x25B3 }, { 0x25B6, 0x25B7 }, { 0x25BC, 0x25BD },
+ { 0x25C0, 0x25C1 }, { 0x25C6, 0x25C8 }, { 0x25CB, 0x25CB },
+ { 0x25CE, 0x25D1 }, { 0x25E2, 0x25E5 }, { 0x25EF, 0x25EF },
+ { 0x2605, 0x2606 }, { 0x2609, 0x2609 }, { 0x260E, 0x260F },
{ 0x261C, 0x261C }, { 0x261E, 0x261E }, { 0x2640, 0x2640 },
{ 0x2642, 0x2642 }, { 0x2660, 0x2661 }, { 0x2663, 0x2665 },
{ 0x2667, 0x266A }, { 0x266C, 0x266D }, { 0x266F, 0x266F },
- { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0xE000, 0xF8FF },
- { 0xFFFD, 0xFFFD }, { 0xF0000, 0xFFFFD }, { 0x100000, 0x10FFFD }
+ { 0x269E, 0x269F }, { 0x26BF, 0x26BF }, { 0x26C6, 0x26CD },
+ { 0x26CF, 0x26D3 }, { 0x26D5, 0x26E1 }, { 0x26E3, 0x26E3 },
+ { 0x26E8, 0x26E9 }, { 0x26EB, 0x26F1 }, { 0x26F4, 0x26F4 },
+ { 0x26F6, 0x26F9 }, { 0x26FB, 0x26FC }, { 0x26FE, 0x26FF },
+ { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0x2B56, 0x2B59 },
+ { 0x3248, 0x324F }, { 0xE000, 0xF8FF }, { 0xFFFD, 0xFFFD },
+ { 0x1F100, 0x1F10A }, { 0x1F110, 0x1F12D }, { 0x1F130, 0x1F169 },
+ { 0x1F170, 0x1F18D }, { 0x1F18F, 0x1F190 }, { 0x1F19B, 0x1F1AC },
+ { 0xF0000, 0xFFFFD }, { 0x100000, 0x10FFFD }
};
+ /* *INDENT-ON* */
/* binary search in table of non-spacing characters */
- if (bisearch(ucs, ambiguous,
- sizeof(ambiguous) / sizeof(struct interval) - 1))
+ if (Lookup((unsigned long) ucs, ambiguous))
return 2;
return mk_wcwidth(ucs);
}
-NCURSES_EXPORT(int) mk_wcswidth_cjk(const wchar_t *pwcs, size_t n)
+NCURSES_EXPORT(int) mk_wcswidth_cjk(const uint32_t *pwcs, size_t n)
{
- int w, width = 0;
+ int width = 0;
+
+ for (; *pwcs && n-- > 0; pwcs++) {
+ int w;
- for (;*pwcs && n-- > 0; pwcs++)
if ((w = mk_wcwidth_cjk(*pwcs)) < 0)
return -1;
else
width += w;
+ }
return width;
}
/****************************************************************************
- * Copyright 2020 Thomas E. Dickey *
+ * Copyright 2020,2024 Thomas E. Dickey *
* Copyright 2010 Free Software Foundation, Inc. *
* *
* Permission is hereby granted, free of charge, to any person obtaining a *
****************************************************************************/
#include <curses.priv.h>
-MODULE_ID("$Id: wcwidth.c,v 1.4 2020/07/11 21:02:10 tom Exp $")
+MODULE_ID("$Id: wcwidth.c,v 1.5 2024/05/04 18:31:39 tom Exp $")
#if USE_WIDEC_SUPPORT
#define mk_wcwidth(ucs) _nc_wcwidth(ucs)
#define mk_wcwidth_cjk(ucs) _nc_wcwidth_cjk(ucs)
#define mk_wcswidth_cjk(pwcs, n) _nc_wcswidth_cjk(pwcs, n)
-NCURSES_EXPORT(int) mk_wcwidth(wchar_t);
-NCURSES_EXPORT(int) mk_wcswidth(const wchar_t *, size_t);
-NCURSES_EXPORT(int) mk_wcwidth_cjk(wchar_t);
-NCURSES_EXPORT(int) mk_wcswidth_cjk(const wchar_t *, size_t);
+NCURSES_EXPORT(void) mk_wcwidth_init(int);
+NCURSES_EXPORT(int) mk_wcwidth(uint32_t);
+NCURSES_EXPORT(int) mk_wcswidth(const uint32_t *, size_t);
+NCURSES_EXPORT(int) mk_wcwidth_cjk(uint32_t);
+NCURSES_EXPORT(int) mk_wcswidth_cjk(const uint32_t *, size_t);
#include <wcwidth.h>
#else
-ncurses6 (6.4+20240414) unstable; urgency=low
+ncurses6 (6.5+20240504) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2024 06:21:09 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240414) unstable; urgency=low
+ncurses6 (6.5+20240504) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2024 06:21:09 -0400
ncurses6 (5.9+20131005) unstable; urgency=low
-ncurses6 (6.4+20240414) unstable; urgency=low
+ncurses6 (6.5+20240504) unstable; urgency=low
* latest weekly patch
- -- Thomas E. Dickey <dickey@invisible-island.net> Sun, 14 Apr 2024 04:48:20 -0400
+ -- Thomas E. Dickey <dickey@invisible-island.net> Sat, 04 May 2024 06:21:09 -0400
ncurses6 (5.9+20120608) unstable; urgency=low
-; $Id: mingw-ncurses.nsi,v 1.642 2024/04/14 08:48:20 tom Exp $\r
+; $Id: mingw-ncurses.nsi,v 1.646 2024/05/04 10:21:09 tom Exp $\r
\r
; TODO add examples\r
; TODO bump ABI to 6\r
!define EXENAME "ncurses.exe"\r
\r
!define VERSION_MAJOR "6"\r
-!define VERSION_MINOR "4"\r
+!define VERSION_MINOR "5"\r
!define VERSION_YYYY "2024"\r
-!define VERSION_MMDD "0414"\r
+!define VERSION_MMDD "0504"\r
!define VERSION_PATCH ${VERSION_YYYY}${VERSION_MMDD}\r
\r
!define MY_ABI "5"\r
Summary: shared libraries for terminal handling
Name: mingw32-ncurses6
-Version: 6.4
-Release: 20240414
+Version: 6.5
+Release: 20240504
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
-# $Id: ncurses.map,v 1.57 2023/08/12 15:33:35 tom Exp $
+# $Id: ncurses.map,v 1.58 2024/04/27 14:33:24 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
_nc_tiparm;
} NCURSES_TINFO_6.2.20200212;
-NCURSES_TINFO_6.4.current {
+NCURSES_TINFO_6.5.20240427 {
global:
is_cbreak;
is_cbreak_sp;
Summary: shared libraries for terminal handling
Name: ncurses6
-Version: 6.4
-Release: 20240414
+Version: 6.5
+Release: 20240504
License: X11
Group: Development/Libraries
URL: https://invisible-island.net/ncurses/
-# $Id: ncursest.map,v 1.55 2023/08/12 15:33:41 tom Exp $
+# $Id: ncursest.map,v 1.56 2024/04/27 14:33:24 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
_nc_tiparm;
} NCURSES_TINFO_6.2.20200212;
-NCURSES_TINFO_6.4.current {
+NCURSES_TINFO_6.5.20240427 {
global:
is_cbreak;
is_cbreak_sp;
Summary: Curses library with POSIX thread support.
Name: ncursest6
-Version: 6.4
-Release: 20240414
+Version: 6.5
+Release: 20240504
License: X11
Group: Development/Libraries
Source: ncurses-%{version}-%{release}.tgz
-# $Id: ncursestw.map,v 1.58 2023/08/12 15:33:46 tom Exp $
+# $Id: ncursestw.map,v 1.59 2024/04/27 14:33:24 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
killwchar_sp;
} NCURSES_TINFO_6.2.20200212;
-NCURSES_TINFO_6.4.current {
+NCURSES_TINFO_6.5.20240427 {
global:
is_cbreak;
is_cbreak_sp;
-# $Id: ncursesw.map,v 1.61 2023/08/12 15:33:52 tom Exp $
+# $Id: ncursesw.map,v 1.62 2024/04/27 14:33:24 tom Exp $
# script for shared library symbol-versioning using ld
#
# This file was generated by ncu-mapsyms
killwchar_sp;
} NCURSES_TINFO_6.2.20200212;
-NCURSES_TINFO_6.4.current {
+NCURSES_TINFO_6.5.20240427 {
global:
is_cbreak;
is_cbreak_sp;
#include <transform.h>
#include <tty_settings.h>
-MODULE_ID("$Id: tput.c,v 1.103 2024/03/02 13:22:26 tom Exp $")
+MODULE_ID("$Id: tput.c,v 1.104 2024/04/20 22:20:51 tom Exp $")
#define PUTS(s) fputs(s, stdout)
}
#if HAVE_SIZECHANGE
- set_window_size(fd, &lines, &columns);
+ {
+ NCURSES_INT2 my_rows = lines;
+ NCURSES_INT2 my_cols = columns;
+ set_window_size(fd, &my_rows, &my_cols);
+ lines = my_rows;
+ columns = my_cols;
+ }
#else
(void) fd;
#endif
char *ttyname(int fd);
#endif
-MODULE_ID("$Id: tset.c,v 1.134 2024/04/13 18:59:53 tom Exp $")
+MODULE_ID("$Id: tset.c,v 1.135 2024/04/20 22:20:41 tom Exp $")
#ifndef environ
extern char **environ;
if (!noset) {
#if HAVE_SIZECHANGE
if (opt_w) {
- set_window_size(my_fd, &lines, &columns);
+ NCURSES_INT2 my_rows = lines;
+ NCURSES_INT2 my_cols = columns;
+ set_window_size(my_fd, &my_rows, &my_cols);
+ lines = my_rows;
+ columns = my_cols;
}
#endif
if (opt_c) {
-------------------------------------------------------------------------------
--- Copyright 2018-2022,2023 Thomas E. Dickey --
+-- Copyright 2018-2023,2024 Thomas E. Dickey --
-- Copyright 1998-2017,2018 Free Software Foundation, Inc. --
-- --
-- Permission is hereby granted, free of charge, to any person obtaining a --
-- sale, use or other dealings in this Software without prior written --
-- authorization. --
-------------------------------------------------------------------------------
--- $Id: README,v 1.80 2023/11/25 21:17:30 tom Exp $
+-- $Id: README,v 1.82 2024/04/27 18:35:01 tom Exp $
-------------------------------------------------------------------------------
The programs in this directory are used to test and demonstrate ncurses.
newpad test: ncurses padview popup_msg testcurs
newpad_sp lib: ncurses
newscr lib: ncurses
-newterm test: demo_altkeys demo_new_pair ditto dots_mvcur extended_color filter foldkeys gdc key_names keynames redraw test_delwin test_endwin test_setupterm test_termattrs
+newterm test: demo_altkeys demo_new_pair ditto dots_mvcur extended_color filter foldkeys gdc key_names keynames redraw test_delwin test_endwin test_mouse test_setupterm test_termattrs
newterm_sp -
newwin test: cardfile chgat clip_printw demo_defkey demo_forms demo_keyok demo_menus demo_panels ditto firstlast inch_wide inchs ins_wide insdelln inserts knight movewindow ncurses newdemo popup_msg redraw test_add_wchstr test_addchstr test_addstr test_addwstr test_delwin test_get_wstr test_getstr test_instr test_inwstr test_opaque testcurs view xmas
newwin_sp lib: ncurses
nonl_sp lib: ncurses
noqiflush -
noqiflush_sp test: sp_tinfo
-noraw test: demo_forms demo_menus dup_field move_field ncurses testcurs
+noraw test: demo_forms demo_menus dup_field move_field ncurses test_mouse testcurs
noraw_sp test: sp_tinfo
notimeout test: ncurses test_opaque
numcodes test: demo_termcap test_arrays progs: dump_entry
putwin test: ncurses
qiflush -
qiflush_sp test: sp_tinfo
-raw test: demo_forms dup_field move_field ncurses redraw testcurs
+raw test: demo_forms dup_field move_field ncurses redraw test_mouse testcurs
raw_sp test: sp_tinfo
redrawwin test: combine padview redraw view
refresh test: blue bs color_content demo_defkey demo_forms demo_keyok demo_menus demo_panels demo_tabs dots_curses dots_mvcur dots_xcurses dup_field echochar filter firstlast form_driver_w gdc hanoi hashtest lrtest move_field movewindow ncurses pair_content picsmap savescreen tclock test_delwin test_endwin test_mouse testcurs view xmas
set_term lib: ncurses
setcchar test: back_ground combine demo_new_pair demo_panels ins_wide ncurses picsmap savescreen test_add_wchstr test_addwstr
setscrreg test: view
-setupterm test: demo_terminfo dots list_keys sp_tinfo test_mouse test_setupterm test_sgr test_termattrs test_tparm test_vid_puts test_vidputs progs: clear tabs tput tset
+setupterm test: demo_terminfo dots list_keys sp_tinfo test_setupterm test_sgr test_termattrs test_tparm test_vid_puts test_vidputs progs: clear tabs tput tset
slk_attr -
slk_attr_off -
slk_attr_on -