[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 02/11] man/curs_inch.3x: Expand history of System V `chtype` and
From: |
G. Branden Robinson |
Subject: |
[PATCH 02/11] man/curs_inch.3x: Expand history of System V `chtype` and `winch()`. |
Date: |
Sat, 18 May 2024 11:01:11 -0500 |
...based on access to System V curses.h header files.
Also recast description of BSD curses to favor active voice over
passive.
Set "winch" in italics, not bold, when referring to it generically as
opposed to the ncurses topic/implementation.
---
man/curs_inch.3x | 72 +++++++++++++++++++++++++++++-------------------
1 file changed, 43 insertions(+), 29 deletions(-)
diff --git a/man/curs_inch.3x b/man/curs_inch.3x
index 17be0fb9e..7046e8934 100644
--- a/man/curs_inch.3x
+++ b/man/curs_inch.3x
@@ -98,41 +98,55 @@ .SH PORTABILITY
Issue 4 describes these functions.
It specifies no error conditions for them.
.SH HISTORY
-.B \%winch
-was implemented in the original 4BSD
+The original
.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.
+in 4BSD
+(November 1980)
+implemented
+.I \%winch
+as a macro accessing the window structure member representing character
+cell data,
+at that time a
+.IR char ","
+containing only a 7-bit character code
+and a \*(``standout\*(`` attribute bit
+(the only one it supported),
+masking off the latter.
.PP
-System\ V
+SVr2
.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).
+(1984)
+extended the same approach,
+permitting several attributes to be combined with a character code by
+storing them together in a
+.IR \%chtype ","
+an alias of
+.IR "unsigned short" "."
+.\" ...indirectly through a preprocessor macro named CHTYPE, encouraging
+.\" builders to change the typedef to `char` or `long` as desired. More
+.\" innocent times with respect to ABI compatibility concerns... --GBR
+Because a macro was used,
+its value was not type-checked as a function return value could have
+been.
+Goodheart documented SVr3 (1987)
+.I \%winch
+as returning an
+.IR int "."
+.\" ...but the implementation remained unchanged.
+SVr3.1's (1987)
+.I \%chtype
+became an alias of
+.IR "unsigned long" ","
+widening it in practical terms to 32 bits,
+as 64-bit Unix systems were not yet in wide use.
+.\" Cray's UNICOS was 1985 (how many shops had Crays?). DEC OSF/1 for
+.\" the Alpha arrived in 1993. --GBR
+SVr3.2 (1988)
+added a 6-bit color pair identifier alongside the attributes.
.PP
X/Open Curses does not specify the sizes of the character code or
color pair identifier,
-nor the quantity of rendering attribute bits,
+nor the quantity of attribute bits,
in
.IR chtype ";"
these are implementation-dependent.
--
2.30.2
signature.asc
Description: PGP signature
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [PATCH 02/11] man/curs_inch.3x: Expand history of System V `chtype` and `winch()`.,
G. Branden Robinson <=