bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 04/32] man/curs_inch.3x: Revise.


From: G. Branden Robinson
Subject: [PATCH 04/32] man/curs_inch.3x: Revise.
Date: Sat, 11 May 2024 08:27:54 -0500

Content:
* Slightly expand.  Speak in terms of concepts, not just data types.
* Cross reference ncurses.3x regarding function variants.
* Clarify.
* Parallelize language with other ncurses man pages.
* Move most of "PORTABILITY" section into a new "HISTORY" section, since
  the content is historical and explicitly focused on pre-standard
  implementations.
* Add historical detail.
* Annotate a point of future research.  (Anyone have SVr1 or SVr2 curses
  header files handy?)

Style:
* Remove paragraph break from midst of common 4-tuple of function
  synopses described in ncurses.3x.
* Recast.  Avoid Latin abbreviations.

Markup:
* Favor man(7) font style macros over *roff font selection escape
  sequences, except for man page cross references (because
  man/make_sed.sh recognizes only certain patterns when rewriting such
  cross references) and terms in the "NAME" section (because the
  generated edit_man.sh script expects font selection escape sequences
  when scraping terms from there to gather names for man page aliases).
* Break input lines after colons and commas.
* Set multi-word parentheticals on their own input lines.

squash man/curs_inch.3x: Revise.
---
 man/curs_inch.3x | 104 +++++++++++++++++++++++++++++++----------------
 1 file changed, 69 insertions(+), 35 deletions(-)

diff --git a/man/curs_inch.3x b/man/curs_inch.3x
index 82a228e10..e9fd9d32e 100644
--- a/man/curs_inch.3x
+++ b/man/curs_inch.3x
@@ -57,20 +57,21 @@ .SH SYNOPSIS
 .PP
 \fBchtype inch(void);
 \fBchtype winch(WINDOW *\fIwin\fP);
-.PP
 \fBchtype mvinch(int \fIy\fP, int \fIx\fP);
 \fBchtype mvwinch(WINDOW *\fIwin\fP, int \fIy\fP, int \fIx\fP);
 .fi
 .SH DESCRIPTION
-These routines return the character, of type \fBchtype\fP, at the current
-position in the named window.
-If any attributes are set for that position,
-their values are OR'ed into the value returned.
-Subsection \*(``Video Attributes\*('' of \fB\%attron\fP(3X) describes
-how to extract character,
-rendering attribute,
-and color pair information from a
-.I chtype "."
+.B \%winch
+returns the
+.I curses
+character,
+including rendering attributes and color pair identifier,
+at the cursor position in the window
+.IR win "."
+Subsection \*(``Video Attributes\*('' of \fB\%attron\fP(3X) explains
+how to extract these data from a
+.IR chtype "."
+\fB\%ncurses\fP(3X) describes the variants of this function.
 .SH RETURN VALUE
 Functions prefixed with \*(``mv\*('' first perform cursor movement and
 fail if the position
@@ -78,35 +79,68 @@ .SH RETURN VALUE
 .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).
-Only the low-order 8 bits of the character are used by \fBwinch\fP.
+These functions do not return an error if the window comprises cells of
+.I curses
+complex characters
+(that is,
+they contain characters with codes wider than eight bits,
+or greater than 255 as an unsigned decimal integer).
+They instead extract only the low-order eight bits of character data
+in the cell.
 .SH NOTES
-Note that all of these routines may be macros.
+.BR \%inch ,
+.BR \%mvinch ,
+and
+.B \%mvwinch
+may be implemented as macros.
 .SH PORTABILITY
-These functions are described in X/Open Curses, Issue 4.
+X/Open Curses,
+Issue 4 describes these functions.
+It specifies no error conditions for them.
+.SH HISTORY
+.B \%winch
+was implemented in the original 4BSD
+.I curses
+library
+(November 1980).
+It returned only the character code
+(as an integer)
+with the \*(``standout\*(`` attribute bit
+(the only one it supported)
+cleared.
+Because 7-bit ASCII was the only character encoding supported,
+4BSD's
+.B \%winch
+returned a
+.I char
+type.
+.\" Through macros, it directly accessed a `char` structure member.
 .PP
-Very old systems (before standardization) provide a different function
-with the same name:
-.bP
-The \fBwinch\fP function was part of the original BSD curses library,
-which stored a 7-bit character combined with the \fIstandout\fP attribute.
-.IP
-In BSD curses, \fBwinch\fP returned only the character (as an integer)
-with the \fIstandout\fP attribute removed.
-.bP
-System V curses added support for several video attributes which
-could be combined with characters in the window.
-.IP
-Reflecting this improvement, the function was altered to return the
-character combined with all video attributes in a \fBchtype\fP value.
+System\ V
+.I curses
+(1983) permitted several rendering attributes to be combined with a
+character in a window.
+Reflecting this improvement,
+.B \%winch
+.\" XXX: possibly returned a `short` in SVr1 through SVr3 --GBR
+returned an
+.I int
+in SVr3.2 (1988)
+and switched to
+.I chtype
+in SVr4 (1989).
 .PP
-X/Open Curses does not specify
-the size and layout of attributes, color and character values in
-\fBchtype\fP; 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.
+X/Open Curses does not specify the sizes of the character code or
+color pair identifier,
+nor the quantity of rendering attribute bits,
+in
+.IR chtype ";"
+these are implementation-dependent.
+.I \%ncurses
+uses eight bits for the character code.
+An application requiring a wider character type,
+for instance to handle Unicode,
+should use the wide-character counterparts of these functions.
 .SH SEE ALSO
 \fB\%curs_in_wch\fP(3X) describes comparable functions of the
 .I \%ncurses
-- 
2.30.2

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]