[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/3] man/curs_threads.3x: Revise.
From: |
G. Branden Robinson |
Subject: |
[PATCH 2/3] man/curs_threads.3x: Revise. |
Date: |
Thu, 28 Sep 2023 11:25:12 -0500 |
* Fix completely erroneous "RETURN VALUE" section, possibly
copy-and-pasted from curs_opaque(3x). Document actual behavior.
* Drop definition of page-local macro `bP` (see below).
* Define strings for directional double quotation marks.
* Name all documented symbols and data types in the "NAME" section.
This aids apropos/"man -k" queries.
* Revise summary description.
* Disable filling in "SYNOPSIS" section, like many other ncurses pages.
Consequently, Drop now-unnecessary `br` requests from there.
* Replace `sp` formatter requests with `PP` man(7) macro calls.
* Add C-style comment to synopsis identifying data types.
* Revise description to be a little more helpful to (the many) C
programmers who have not mastered the concepts of ABI, API, concurrent
programming, and mutexes.
* Set C symbol literals in bold instead of roman, and protect them from
hyphenation.
* Set C type literals in italics instead of bold, and protect them from
hyphenation.
* Generally recast for clarity.
* Set subsection heading in sentence case, floating a modest reform from
the groff and Linux man-pages projects.
* Set "curses", "ncurses", "terminfo", and "termcap" in italics, not
roman.
* Favor active voice over passive.
* Migrate from `bP` page-local macro `IP` man(7) macro. Use 2 ens of
indentation for bulleted lists.
* Favor English words over Latin abbreviations.
* Style references to ncurses functions not documented in this page as
man page cross references.
* Drop periods from ends of non-sentences.
* Stop using colons followed by tables as excuses not to punctuate
sentence endings.
* Set table column headings in bold, not roman.
* Set symbol column of table in bold, not roman.
* Spell "read-only" thus, with a hyphen.
* Use semicolons instead of commas in several table annotations,
reserving the comma for cases where we need to list a series of locked
data structures.
* Add annotation regarding "TABSIZE" and "set_tabsize" in table,
paralleling "ESCDELAY"/"set_escdelay".
* Set "stdscr" C symbol literals in bold instead of roman in table.
* Revise table's lock notation to look more like English.
* Unhyphenate noun phrase "input-operation", applying the "head waiter"
principle from
<https://lists.gnu.org/archive/html/bug-ncurses/2023-09/msg00096.html>.
---
man/curs_threads.3x | 506 +++++++++++++++++++++++---------------------
1 file changed, 265 insertions(+), 241 deletions(-)
diff --git a/man/curs_threads.3x b/man/curs_threads.3x
index e8729c44..39f1604e 100644
--- a/man/curs_threads.3x
+++ b/man/curs_threads.3x
@@ -30,241 +30,260 @@
.\"
.\" $Id: curs_threads.3x,v 1.41 2023/09/16 23:37:03 tom Exp $
.TH curs_threads 3X 2023-09-16 "ncurses 6.4" "Library calls"
-.de bP
-.ie n .IP \(bu 4
-.el .IP \(bu 2
-..
+.ie \n(.g .ds `` \(lq
+.el .ds `` ``
+.ie \n(.g .ds '' \(rq
+.el .ds '' ''
.SH NAME
-\fB\%curs_threads\fP \-
-\fIcurses\fR thread support
+\fI\%NCURSES_WINDOW_CB\fP,
+\fI\%NCURSES_SCREEN_CB\fP,
+\fB\%get_escdelay\fP,
+\fB\%set_escdelay\fP,
+\fB\%set_tabsize\fP,
+\fB\%use_screen\fP,
+\fB\%use_window\fP \-
+\fIcurses\fR support for multi-threaded applications
.SH SYNOPSIS
+.nf
\fB#include <curses.h>\fP
-.sp
+.PP
+\fI/* data types */\fP
\fBtypedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);\fP
-.br
\fBtypedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);\fP
-.sp
+.PP
\fBint get_escdelay(void);\fP
-.br
\fBint set_escdelay(int \fIms\fB);\fR
-.br
\fBint set_tabsize(int \fIcols\fB);\fR
-.sp
+.PP
\fBint use_screen(SCREEN *\fIscr\fB, NCURSES_SCREEN_CB \fIfunc\fB, void
*\fIdata\fB);\fR
-.br
\fBint use_window(WINDOW *\fIwin\fB, NCURSES_WINDOW_CB \fIfunc\fB, void
*\fIdata\fB);\fR
+.fi
.SH DESCRIPTION
-This implementation can be configured to provide rudimentary support
-for multi-threaded applications.
-This makes a different set of libraries, e.g., \fBlibncursest\fP since
-the binary interfaces are different.
+The \fIncurses\fP library can be configured to support multi-threaded
+applications in a rudimentary way.
+Such configuration produces a different set of libraries,
+named \fIlibncursest\fP,
+for example,
+since doing so alters \fIncurses\fP's application binary interface
+(ABI).
.PP
-Rather than modify the interfaces to pass a thread specifier to
-each function, it adds a few functions which can be used in any
-configuration which hide the mutex's needed to prevent concurrent
-use of the global variables when configured for threading.
+Instead of modifying the programming interface (API) to make
+\fIncurses\fP functions expect an additional argument specifying a
+thread,
+the library adds a few functions,
+usable in any configuration,
+that hide the \fImutexes\fP
+(mutual exclusion locks)
+needed to prevent concurrent access to variables shared by multiple
+threads of execution.
.PP
-In addition to forcing access to members of the \fBWINDOW\fP structure
-to be via functions (see \fBcurs_opaque\fP(3X)),
-it makes functions of the common global variables,
-e.g.,
-COLORS,
-COLOR_PAIRS,
-COLS,
-ESCDELAY,
-LINES,
-TABSIZE
-curscr,
-newscr and
-ttytype.
-Those variables are maintained as read-only values, stored in the \fBSCREEN\fP
-structure.
+\fIncurses\fP threading support requires the use of functions to access
+members of the \fI\%WINDOW\fP structure (see \fBcurs_opaque\fP(3X)).
+It further makes functions of the common global variables
+\fB\%COLORS\fP,
+\fB\%COLOR_PAIRS\fP,
+\fB\%COLS\fP,
+\fB\%ESCDELAY\fP,
+\fB\%LINES\fP,
+\fB\%TABSIZE\fP,
+\fB\%curscr\fP,
+\fB\%newscr\fP,
+and
+\fB\%ttytype\fP,
+maintaining them as as read-only values in the \fISCREEN\fP structure.
.PP
-Even this is not enough to make a thread-safe application using curses.
-A multi-threaded application would be expected to have threads updating
-separate windows (within the same device),
-or updating on separate screens (on different devices).
-Also, a few of the global variables are considered writable by some
-applications.
+Even this is not enough to make an application using \fIcurses\fP
+thread-safe.
+We would expect a multi-threaded application to have threads updating
+separate windows (on the same device),
+and separate screens (on different devices).
+Further,
+applications expect a few of the global variables to be writable.
The functions described here address these special situations.
.PP
-The ESCDELAY and TABSIZE global variables are modified by some applications.
+The \fB\%ESCDELAY\fP and \fB\%TABSIZE\fP global variables are modified
+by some applications.
To modify them in any configuration,
-use the \fBset_escdelay\fP or \fBset_tabsize\fP functions.
+use the \fB\%set_escdelay\fP or \fB\%set_tabsize\fP functions.
Other global variables are not modifiable.
+\fBget_escdelay\fP retrieves \fB\%ESCDELAY\fP's value.
.PP
-The \fBget_escdelay\fP function returns the value for ESCDELAY.
-.PP
-The \fBuse_window\fP and \fBuse_screen\fP functions provide coarse
-granularity mutexes for their respective \fBWINDOW\fP and \fBSCREEN\fP
-parameters, and call a user-supplied function,
-passing it a \fIdata\fP parameter,
-and returning the value from the user-supplied function to the application.
+The \fBuse_window\fP and \fBuse_screen\fP functions provide
+coarse-grained mutexes for their respective \fI\%WINDOW\fP and
+\fI\%SCREEN\fP parameters;
+they call a user-supplied function,
+pass it a \fIdata\fP parameter,
+and return the value from the user-supplied function to the application.
.\" ***************************************************************************
-.SS USAGE
-All of the ncurses library functions assume that the locale is not
+.SS Usage
+All \fIncurses\fP library functions assume that the locale is not
altered during operation.
In addition,
-they use data which is maintained within a hierarchy of scopes.
-.RS 3
-.bP
-global data, e.g., used in the low-level terminfo or termcap interfaces.
-.bP
-terminal data, e.g., associated with a call to \fBset_curterm\fP.
-The terminal data are initialized when screens are created.
-.bP
-screen data, e.g., associated with a call to \fBnewterm\fP or \fBinitscr\fP.
-.bP
-window data, e.g., associated with a call to \fBnewwin\fP or \fBsubwin\fP.
+they use data that is maintained within a hierarchy of scopes.
+.IP \(bu 2
+global data used in the low-level \fIterminfo\fP or \fItermcap\fP
+interfaces
+.IP \(bu
+terminal data associated with a call to \fBset_curterm\fP(3X)
+.IP
+Terminal data are initialized when screens are created.
+.IP \(bu
+screen data associated with a call to \fBnewterm\fP(3X) or
+\fBinitscr\fP(3X)
+.IP \(bu
+window data associated with a call to \fBnewwin\fP(3X) or
+\fBsubwin\fP(3X)
+.IP
Windows are associated with screens.
-Pads are not necessarily associated with a particular screen.
+Pads are not necessarily associated with any particular screen.
.IP
-Most curses applications operate on one or more windows within a single screen.
-.bP
-reentrant, i.e., it uses only the data passed as parameters.
-.RE
+Most \fIcurses\fP applications operate on one or more windows within a
+single screen.
+.IP \(bu
+reentrant data associated with \*(``pure\*('' functions that alter no
+shared variables
.PP
-This table lists the scope of data used for each symbol in the
-ncurses library when it is configured to support threading:
+The following table lists the scope of each symbol in the \fIncurses\fP
+library when configured to support multi-threaded applications.
.PP
.TS
center tab(/);
-l l
-l l .
+lb lb
+lb l .
Symbol/Scope
=
BC/global
-COLORS/screen (readonly)
+COLORS/screen (read-only)
COLOR_PAIR/reentrant
-COLOR_PAIRS/screen (readonly)
-COLS/screen (readonly)
-ESCDELAY/screen (readonly, see \fBset_escdelay\fP)
-LINES/screen (readonly)
+COLOR_PAIRS/screen (read-only)
+COLS/screen (read-only)
+ESCDELAY/screen (read-only; see \fBset_escdelay\fP)
+LINES/screen (read-only)
PAIR_NUMBER/reentrant
PC/global
SP/global
-TABSIZE/screen (readonly)
+TABSIZE/screen (read-only; see \fBset_tabsize\fP)
UP/global
-acs_map/screen (readonly)
-add_wch/window (stdscr)
-add_wchnstr/window (stdscr)
-add_wchstr/window (stdscr)
-addch/window (stdscr)
-addchnstr/window (stdscr)
-addchstr/window (stdscr)
-addnstr/window (stdscr)
-addnwstr/window (stdscr)
-addstr/window (stdscr)
-addwstr/window (stdscr)
+acs_map/screen (read-only)
+add_wch/window (\fBstdscr\fP)
+add_wchnstr/window (\fBstdscr\fP)
+add_wchstr/window (\fBstdscr\fP)
+addch/window (\fBstdscr\fP)
+addchnstr/window (\fBstdscr\fP)
+addchstr/window (\fBstdscr\fP)
+addnstr/window (\fBstdscr\fP)
+addnwstr/window (\fBstdscr\fP)
+addstr/window (\fBstdscr\fP)
+addwstr/window (\fBstdscr\fP)
assume_default_colors/screen
-attr_get/window (stdscr)
-attr_off/window (stdscr)
-attr_on/window (stdscr)
-attr_set/window (stdscr)
-attroff/window (stdscr)
-attron/window (stdscr)
-attrset/window (stdscr)
+attr_get/window (\fBstdscr\fP)
+attr_off/window (\fBstdscr\fP)
+attr_on/window (\fBstdscr\fP)
+attr_set/window (\fBstdscr\fP)
+attroff/window (\fBstdscr\fP)
+attron/window (\fBstdscr\fP)
+attrset/window (\fBstdscr\fP)
baudrate/screen
beep/screen
-bkgd/window (stdscr)
-bkgdset/window (stdscr)
-bkgrnd/window (stdscr)
-bkgrndset/window (stdscr)
-boolcodes/global (readonly)
-boolfnames/global (readonly)
-boolnames/global (readonly)
-border/window (stdscr)
-border_set/window (stdscr)
-box/window (stdscr)
-box_set/window (stdscr)
+bkgd/window (\fBstdscr\fP)
+bkgdset/window (\fBstdscr\fP)
+bkgrnd/window (\fBstdscr\fP)
+bkgrndset/window (\fBstdscr\fP)
+boolcodes/global (read-only)
+boolfnames/global (read-only)
+boolnames/global (read-only)
+border/window (\fBstdscr\fP)
+border_set/window (\fBstdscr\fP)
+box/window (\fBstdscr\fP)
+box_set/window (\fBstdscr\fP)
can_change_color/terminal
cbreak/screen
-chgat/window (stdscr)
-clear/window (stdscr)
+chgat/window (\fBstdscr\fP)
+clear/window (\fBstdscr\fP)
clearok/window
-clrtobot/window (stdscr)
-clrtoeol/window (stdscr)
+clrtobot/window (\fBstdscr\fP)
+clrtoeol/window (\fBstdscr\fP)
color_content/screen
-color_set/window (stdscr)
-copywin/window locks(source, target)
+color_set/window (\fBstdscr\fP)
+copywin/window (locks source, target)
cur_term/terminal
curs_set/screen
-curscr/screen (readonly)
-curses_version/global (readonly)
+curscr/screen (read-only)
+curses_version/global (read-only)
def_prog_mode/terminal
def_shell_mode/terminal
define_key/screen
del_curterm/screen
delay_output/screen
-delch/window (stdscr)
-deleteln/window (stdscr)
-delscreen/global locks(screenlist, screen)
-delwin/global locks(windowlist)
+delch/window (\fBstdscr\fP)
+deleteln/window (\fBstdscr\fP)
+delscreen/global (locks screen list, screen)
+delwin/global (locks window list)
derwin/screen
doupdate/screen
-dupwin/screen locks(window)
+dupwin/screen (locks window)
echo/screen
-echo_wchar/window (stdscr)
-echochar/window (stdscr)
+echo_wchar/window (\fBstdscr\fP)
+echochar/window (\fBstdscr\fP)
endwin/screen
-erase/window (stdscr)
-erasechar/window (stdscr)
-erasewchar/window (stdscr)
+erase/window (\fBstdscr\fP)
+erasechar/window (\fBstdscr\fP)
+erasewchar/window (\fBstdscr\fP)
filter/global
flash/terminal
flushinp/screen
-get_wch/screen (input-operation)
-get_wstr/screen (input-operation)
+get_wch/screen (input operation)
+get_wstr/screen (input operation)
getattrs/window
getbegx/window
getbegy/window
getbkgd/window
getbkgrnd/window
getcchar/reentrant
-getch/screen (input-operation)
+getch/screen (input operation)
getcurx/window
getcury/window
getmaxx/window
getmaxy/window
-getmouse/screen (input-operation)
-getn_wstr/screen (input-operation)
-getnstr/screen (input-operation)
+getmouse/screen (input operation)
+getn_wstr/screen (input operation)
+getnstr/screen (input operation)
getparx/window
getpary/window
-getstr/screen (input-operation)
-getwin/screen (input-operation)
+getstr/screen (input operation)
+getwin/screen (input operation)
halfdelay/screen
has_colors/terminal
has_ic/terminal
has_il/terminal
has_key/screen
-hline/window (stdscr)
-hline_set/window (stdscr)
+hline/window (\fBstdscr\fP)
+hline_set/window (\fBstdscr\fP)
idcok/window
idlok/window
immedok/window
-in_wch/window (stdscr)
-in_wchnstr/window (stdscr)
-in_wchstr/window (stdscr)
-inch/window (stdscr)
-inchnstr/window (stdscr)
-inchstr/window (stdscr)
+in_wch/window (\fBstdscr\fP)
+in_wchnstr/window (\fBstdscr\fP)
+in_wchstr/window (\fBstdscr\fP)
+inch/window (\fBstdscr\fP)
+inchnstr/window (\fBstdscr\fP)
+inchstr/window (\fBstdscr\fP)
init_color/screen
init_pair/screen
-initscr/global locks(screenlist)
-innstr/window (stdscr)
-innwstr/window (stdscr)
-ins_nwstr/window (stdscr)
-ins_wch/window (stdscr)
-ins_wstr/window (stdscr)
-insch/window (stdscr)
-insdelln/window (stdscr)
-insertln/window (stdscr)
-insnstr/window (stdscr)
-insstr/window (stdscr)
-instr/window (stdscr)
+initscr/global (locks screen list)
+innstr/window (\fBstdscr\fP)
+innwstr/window (\fBstdscr\fP)
+ins_nwstr/window (\fBstdscr\fP)
+ins_wch/window (\fBstdscr\fP)
+ins_wstr/window (\fBstdscr\fP)
+insch/window (\fBstdscr\fP)
+insdelln/window (\fBstdscr\fP)
+insertln/window (\fBstdscr\fP)
+insnstr/window (\fBstdscr\fP)
+insstr/window (\fBstdscr\fP)
+instr/window (\fBstdscr\fP)
intrflush/terminal
-inwstr/window (stdscr)
+inwstr/window (\fBstdscr\fP)
is_cleared/window
is_idcok/window
is_idlok/window
@@ -291,52 +310,52 @@ .SS USAGE
longname/screen
mcprint/terminal
meta/screen
-mouse_trafo/window (stdscr)
+mouse_trafo/window (\fBstdscr\fP)
mouseinterval/screen
mousemask/screen
-move/window (stdscr)
-mvadd_wch/window (stdscr)
-mvadd_wchnstr/window (stdscr)
-mvadd_wchstr/window (stdscr)
-mvaddch/window (stdscr)
-mvaddchnstr/window (stdscr)
-mvaddchstr/window (stdscr)
-mvaddnstr/window (stdscr)
-mvaddnwstr/window (stdscr)
-mvaddstr/window (stdscr)
-mvaddwstr/window (stdscr)
-mvchgat/window (stdscr)
+move/window (\fBstdscr\fP)
+mvadd_wch/window (\fBstdscr\fP)
+mvadd_wchnstr/window (\fBstdscr\fP)
+mvadd_wchstr/window (\fBstdscr\fP)
+mvaddch/window (\fBstdscr\fP)
+mvaddchnstr/window (\fBstdscr\fP)
+mvaddchstr/window (\fBstdscr\fP)
+mvaddnstr/window (\fBstdscr\fP)
+mvaddnwstr/window (\fBstdscr\fP)
+mvaddstr/window (\fBstdscr\fP)
+mvaddwstr/window (\fBstdscr\fP)
+mvchgat/window (\fBstdscr\fP)
mvcur/screen
-mvdelch/window (stdscr)
-mvderwin/window (stdscr)
-mvget_wch/screen (input-operation)
-mvget_wstr/screen (input-operation)
-mvgetch/screen (input-operation)
-mvgetn_wstr/screen (input-operation)
-mvgetnstr/screen (input-operation)
-mvgetstr/screen (input-operation)
-mvhline/window (stdscr)
-mvhline_set/window (stdscr)
-mvin_wch/window (stdscr)
-mvin_wchnstr/window (stdscr)
-mvin_wchstr/window (stdscr)
-mvinch/window (stdscr)
-mvinchnstr/window (stdscr)
-mvinchstr/window (stdscr)
-mvinnstr/window (stdscr)
-mvinnwstr/window (stdscr)
-mvins_nwstr/window (stdscr)
-mvins_wch/window (stdscr)
-mvins_wstr/window (stdscr)
-mvinsch/window (stdscr)
-mvinsnstr/window (stdscr)
-mvinsstr/window (stdscr)
-mvinstr/window (stdscr)
-mvinwstr/window (stdscr)
-mvprintw/window (stdscr)
+mvdelch/window (\fBstdscr\fP)
+mvderwin/window (\fBstdscr\fP)
+mvget_wch/screen (input operation)
+mvget_wstr/screen (input operation)
+mvgetch/screen (input operation)
+mvgetn_wstr/screen (input operation)
+mvgetnstr/screen (input operation)
+mvgetstr/screen (input operation)
+mvhline/window (\fBstdscr\fP)
+mvhline_set/window (\fBstdscr\fP)
+mvin_wch/window (\fBstdscr\fP)
+mvin_wchnstr/window (\fBstdscr\fP)
+mvin_wchstr/window (\fBstdscr\fP)
+mvinch/window (\fBstdscr\fP)
+mvinchnstr/window (\fBstdscr\fP)
+mvinchstr/window (\fBstdscr\fP)
+mvinnstr/window (\fBstdscr\fP)
+mvinnwstr/window (\fBstdscr\fP)
+mvins_nwstr/window (\fBstdscr\fP)
+mvins_wch/window (\fBstdscr\fP)
+mvins_wstr/window (\fBstdscr\fP)
+mvinsch/window (\fBstdscr\fP)
+mvinsnstr/window (\fBstdscr\fP)
+mvinsstr/window (\fBstdscr\fP)
+mvinstr/window (\fBstdscr\fP)
+mvinwstr/window (\fBstdscr\fP)
+mvprintw/window (\fBstdscr\fP)
mvscanw/screen
-mvvline/window (stdscr)
-mvvline_set/window (stdscr)
+mvvline/window (\fBstdscr\fP)
+mvvline_set/window (\fBstdscr\fP)
mvwadd_wch/window
mvwadd_wchnstr/window
mvwadd_wchstr/window
@@ -349,12 +368,12 @@ .SS USAGE
mvwaddwstr/window
mvwchgat/window
mvwdelch/window
-mvwget_wch/screen (input-operation)
-mvwget_wstr/screen (input-operation)
-mvwgetch/screen (input-operation)
-mvwgetn_wstr/screen (input-operation)
-mvwgetnstr/screen (input-operation)
-mvwgetstr/screen (input-operation)
+mvwget_wch/screen (input operation)
+mvwget_wstr/screen (input operation)
+mvwgetch/screen (input operation)
+mvwgetn_wstr/screen (input operation)
+mvwgetnstr/screen (input operation)
+mvwgetstr/screen (input operation)
mvwhline/window
mvwhline_set/window
mvwin/window
@@ -379,10 +398,10 @@ .SS USAGE
mvwvline/window
mvwvline_set/window
napms/reentrant
-newpad/global locks(windowlist)
-newscr/screen (readonly)
-newterm/global locks(screenlist)
-newwin/global locks(windowlist)
+newpad/global (locks window list)
+newscr/screen (read-only)
+newterm/global (locks screen list)
+newwin/global (locks window list)
nl/screen
nocbreak/screen
nodelay/window
@@ -392,12 +411,12 @@ .SS USAGE
noqiflush/terminal
noraw/screen
notimeout/window
-numcodes/global (readonly)
-numfnames/global (readonly)
-numnames/global (readonly)
+numcodes/global (read-only)
+numfnames/global (read-only)
+numnames/global (read-only)
ospeed/global
-overlay/window locks(source, target)
-overwrite/window locks(source, target)
+overlay/window (locks source, target)
+overwrite/window (locks source, target)
pair_content/screen
pecho_wchar/screen
pechochar/screen
@@ -413,7 +432,7 @@ .SS USAGE
reset_prog_mode/screen
reset_shell_mode/screen
resetty/terminal
-resize_term/screen locks(windowlist)
+resize_term/screen (locks window list)
resizeterm/screen
restartterm/screen
ripoffline/global (static data)
@@ -423,15 +442,15 @@ .SS USAGE
scr_init/screen
scr_restore/screen
scr_set/screen
-scrl/window (stdscr)
+scrl/window (\fBstdscr\fP)
scroll/window
scrollok/window
set_curterm/screen
set_escdelay/screen
set_tabsize/screen
-set_term/global locks(screenlist, screen)
+set_term/global (locks screen list, screen)
setcchar/reentrant
-setscrreg/window (stdscr)
+setscrreg/window (\fBstdscr\fP)
setupterm/global
slk_attr/screen
slk_attr_off/screen
@@ -453,10 +472,10 @@ .SS USAGE
standend/window
standout/window
start_color/screen
-stdscr/screen (readonly)
-strcodes/global (readonly)
-strfnames/global (readonly)
-strnames/global (readonly)
+\fBstdscr\fP/screen (read-only)
+strcodes/global (read-only)
+strfnames/global (read-only)
+strnames/global (read-only)
subpad/window
subwin/window
syncok/window
@@ -471,31 +490,31 @@ .SS USAGE
tigetflag/terminal
tigetnum/terminal
tigetstr/terminal
-timeout/window (stdscr)
+timeout/window (\fBstdscr\fP)
touchline/window
touchwin/window
tparm/global (static data)
tputs/screen
trace/global (static data)
-ttytype/screen (readonly)
+ttytype/screen (read-only)
typeahead/screen
unctrl/screen
-unget_wch/screen (input-operation)
-ungetch/screen (input-operation)
-ungetmouse/screen (input-operation)
+unget_wch/screen (input operation)
+ungetch/screen (input operation)
+ungetmouse/screen (input operation)
untouchwin/window
use_default_colors/screen
use_env/global (static data)
use_extended_names/global (static data)
use_legacy_coding/screen
-use_screen/global locks(screenlist, screen)
-use_window/global locks(windowlist, window)
+use_screen/global (locks screen list, screen)
+use_window/global (locks window list, window)
vid_attr/screen
vid_puts/screen
vidattr/screen
vidputs/screen
-vline/window (stdscr)
-vline_set/window (stdscr)
+vline/window (\fBstdscr\fP)
+vline_set/window (\fBstdscr\fP)
vw_printw/window
vw_scanw/screen
vwprintw/window
@@ -535,16 +554,16 @@ .SS USAGE
wechochar/window
wenclose/window
werase/window
-wget_wch/screen (input-operation)
-wget_wstr/screen (input-operation)
+wget_wch/screen (input operation)
+wget_wstr/screen (input operation)
wgetbkgrnd/window
-wgetch/screen (input-operation)
+wgetch/screen (input operation)
wgetdelay/window
-wgetn_wstr/screen (input-operation)
-wgetnstr/screen (input-operation)
+wgetn_wstr/screen (input operation)
+wgetnstr/screen (input operation)
wgetparent/window
wgetscrreg/window
-wgetstr/screen (input-operation)
+wgetstr/screen (input operation)
whline/window
whline_set/window
win_wch/window
@@ -571,7 +590,7 @@ .SS USAGE
wprintw/window
wredrawln/window
wrefresh/screen
-wresize/window locks(windowlist)
+wresize/window (locks window list)
wscanw/screen
wscrl/window
wsetscrreg/window
@@ -587,14 +606,19 @@ .SS USAGE
.TE
.\" ***************************************************************************
.SH RETURN VALUE
-These functions all return \fBTRUE\fP or \fBFALSE\fP, except as noted.
+\fB\%get_escdelay\fP returns the value of \fB\%ESCDELAY\fP.
+\fB\%set_escdelay\fP and \fB\%set_tabsize\fP return \fBERR\fP upon
+failure and \fBOK\fP upon successful completion.
+\fB\%use_screen\fP and \fB\%use_window\fP return the \fIint\fP returned
+by the user-supplied function they are called with.
.SH NOTES
-Both a macro and a function are provided for each name.
+\fIncurses\fP provides both a C function and a preprocessor macro for
+each function documented in this page.
.SH PORTABILITY
-These routines are specific to ncurses.
+These routines are specific to \fIncurses\fP.
They were not supported on Version 7, BSD or System V implementations.
-It is recommended that any code depending on ncurses extensions
-be conditioned using NCURSES_VERSION.
+It is recommended that any code depending on \fIncurses\fP extensions
+be conditioned using \fB\%NCURSES_VERSION\fP.
.SH SEE ALSO
\fB\%curses\fP(3X),
\fB\%curs_opaque\fP(3X),
--
2.30.2
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH 2/3] man/curs_threads.3x: Revise.,
G. Branden Robinson <=